Interactive media guidance system having multiple devices

ABSTRACT

When selecting a television program for recording, a user may configure the delivery of the selected television program and associated data and interactive applications to different user equipment devices in a home network, which may have different capabilities. Because the user equipment devices in the home network may have different capabilities, the user may wish to deliver different types and amount of content, different amounts of data, and different versions of interactive applications to the user equipment devices in the home network.

BACKGROUND OF THE INVENTION

This invention relates to interactive media guidance systems and moreparticularly to interactive media guidance systems having multipledevices.

User equipment devices located in a home network may be able to sharecontent and program guide settings with other user equipment devices inthe home network. For example, a user equipment device located in a homenetwork may be allowed to play a recorded television program stored onanother user equipment device in the home network. The ability of userequipment devices in home networks to share content and data isdiscussed in greater detail in U.S. patent application Ser. No.09/356,161, filed Jul. 16, 1999, which is hereby incorporated byreference herein in its entirety.

Within a home network, user equipment devices may have differentcapabilities. User equipment devices may be configured to displaydifferent types of content and run different types of software. Inaddition, user equipment devices may have different bandwidthcapabilities for receiving data.

For example, user equipment devices in a home network may or may not beconfigured to display high-definition content. In this example, a userequipment device in the home network that is not configured to displayhigh-definition content may not be able to view a high-definitionrecording stored on another user equipment device in the home network.

In another example, user equipment devices in a home network may becompatible with different types of software. In this example, a userequipment device may not be able to run an interactive applicationdeveloped for another user equipment device.

In yet another example, user equipment devices in a home network mayhave different bandwidth capabilities. In this example, a user equipmentdevice with a small bandwidth may not be able to download data thatrequires a large amount of storage space.

SUMMARY OF THE INVENTION

A user may select video programming (e.g., a television program) forrecording using a user equipment device located in a home network. Anyof the user equipment devices may be configured to retrieve therecording of the selected content. The user may configure the deliveryof the recorded content and associated data and interactive applicationsto each of the user equipment devices in the home network. In addition,an interactive media guidance application may configure the delivery ofthe recorded content and associated data and interactive applications tosuitable user equipment devices that may be added to the home network inthe future (e.g., based on planned equipment upgrades by a serviceprovider or by predicting user behavior for upgrading and expandingequipment).

Associated data may include any suitable data, such as, for example,schedule information, program descriptions, program information (e.g.,actors, directors, release date, ratings, genre, etc.), relatedarticles, interviews, reviews, metadata having links to related content,descriptive metadata, and other similar content or data relating to therecorded content. Associated interactive applications may include anysuitable interactive application, such as, for example, a navigationapplication, a commerce application, a voting application, a triviaapplication, a wagering application, a user behavior monitoringapplication, a preference setting application, an interactiveadvertising application, and any other suitable application.

For example, an episode of “Desperate Housewives” may be recorded on ahome network that includes a high-definition user equipment device, astandard-definition user equipment device, and a cellular phone. In someembodiments, the user may select the formats of the content to record.The user may select to record the high definition, standard definitionand H.264 formats of “Desperate Housewives” on a home network server(e.g., server 902 (FIG. 9)). The user may select the formats of“Desperate Housewives” to deliver to the user equipment devices in thehome network.

In some embodiments, a server or user equipment device associated withthe home network may determine the available formats of “DesperateHousewives” and compare the requirements of the available formats of“Desperate Housewives” and the capabilities of the user equipmentdevices in the home network to determine the most suitable formats of“Desperate Housewives” to record. A user equipment device in the homenetwork that requests the recording of “Desperate Housewives” may beprovided with the format of “Desperate Housewives” that has beenidentified as the most suitable format to be displayed by the userequipment device. For example, a high-definition user equipment devicemay be provided with the recording of “Desperate Housewives” in highdefinition and a cellular phone may be provided with the recording of“Desperate Housewives” in H.264 format.

In some embodiments, the highest-quality format of “DesperateHousewives” may be recorded and later translated into the formats thathave been identified as suitable for display by the user equipmentdevices in the home network. The recording of “Desperate Housewives” maybe translated into formats that have been identified as suitable to bedisplayed by the user equipment devices in the home network. Forexample, standard-definition user equipment devices may be provided withthe recording of “Desperate Housewives” translated into standarddefinition.

In some embodiments, an alternate version of “Desperate Housewives” maybe provided to any of the user equipment devices in the home network.The alternate version may be a condensed version of “DesperateHousewives” or an extended version of “Desperate Housewives”. Forexample, the alternate version of “Desperate Housewives” may be storedon a server and provided to one of the user equipment devices in thehome network. In another example, the alternate version of “DesperateHousewives” may be locally generated.

Also, the user may configure the delivery of data associated with“Desperate Housewives” to the user equipment devices in the homenetwork. For example, title information and a program summary may bedata that is associated with “Desperate Housewives”. The user may selectto deliver both the title information and the program summary to thestandard-definition and high-definition user equipment devices in thehome network. However, the user may only select to deliver the titleinformation to the cellular phone because of the limited displaycapabilities of the cellular phone.

Furthermore, the user may configure the delivery of applicationsassociated with “Desperate Housewives” to the user equipment devices inthe home network. For example, a shopping application may be anapplication that is associated with “Desperate Housewives”. The user mayselect to deliver the shopping application to the standard-definitionand high-definition user equipment devices. However, the user may optnot to deliver the shopping application to the cellular phone because ofthe limited display capabilities of the cellular phone.

In some embodiments, the associated applications may be stored inmultiple formats and the most suitable format of the associatedapplications may be provided to each of the user equipment devices. Forexample, if the user selects to deliver one of the associatedapplications to the cellular phone, the cellular phone may be providedwith a WML version of the associated application. In some embodiments,the associated applications may be modified or adapted for display byeach of the user equipment devices. For example, if the user selected todeliver one of the associated applications to the cellular phone, theassociated application may be modified for display by the cellularphone. In another example, the associated application may be implementedin a platform-independent language and may be adapted to be displayed bythe cellular phone.

Further features of the invention, its nature and various advantageswill be more apparent from the accompanying drawings and the followingdetailed description of the preferred embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of an illustrative interactive television system inaccordance with the present invention.

FIG. 2 is a diagram of illustrative user television equipment inaccordance with the present invention.

FIG. 3 is a diagram of additional illustrative user television equipmentin accordance with the present invention.

FIG. 4 is a diagram of an illustrative remote control in accordance withthe present invention.

FIG. 5 is a diagram of illustrative user computer equipment inaccordance with the present invention.

FIG. 6 is a generalized diagram of illustrative user equipment inaccordance with the present invention.

FIG. 7 is a diagram of an illustrative home network in which a pluralityof user equipment and a server are implemented in a client-serverconfiguration in accordance with the present invention.

FIG. 8a shows an illustrative display screen of an interactive mediaguidance application for allowing a user to record content and storeassociated data and applications on a home network for later delivery touser equipment devices in the home network in accordance with thepresent invention.

FIG. 8b shows an illustrative display screen of an interactive mediaguidance application for allowing a user to select formats of a selectedprogram to record in accordance with the present invention.

FIG. 8c shows an illustrative display screen of an interactive mediaguidance application for allowing a user to select delivery options fora selected program and associated data and applications to userequipment devices in a home network.

FIGS. 8d-f show an illustrative screen of an interactive media guidanceapplication for allowing a user to select delivery options of a selectedprogram and associated data and applications for various user equipmentdevices in a home network in accordance with the present invention.

FIGS. 9a-b show illustrative display screens of an interactive mediaguidance application implemented on a cellular phone in a home networkfor retrieving and displaying recorded content and associated data andapplications in accordance with the present invention.

FIGS. 9c-d show illustrative display screens of an interactive mediaguidance application implemented on a high-definition user equipmentdevice in a home network for retrieving and displaying recorded contentand associated data and applications in accordance with the presentinvention.

FIGS. 9e-f show illustrative display screens of an interactive mediaguidance application implemented on a standard-definition user equipmentdevice in a home network for retrieving and displaying recorded contentand associated data and applications in accordance with the presentinvention.

FIG. 10a shows an illustrative flow diagram for allowing user equipmentdevices in a home network having various capabilities to access the mostsuitable format of content stored on the home network in accordance withthe present invention.

FIG. 10b shows an illustrative flow diagram for translating content intoformats suitable to be displayed by user equipment devices in accordancewith the present invention.

FIG. 10c shows an illustrative system diagram for translating anddelivering content to user equipment devices in a home network.

FIG. 10d shows an illustrative data structure for storing thecapabilities of a user equipment devices in a home network.

FIG. 10e shows an illustrative flow diagram for distributing videoprogramming to two user equipment devices based on the viewingpreferences for the user equipment devices.

FIG. 11a shows an illustrative flow diagram for condensing recordedcontent for user equipment devices in accordance with the presentinvention.

FIGS. 11b-c show two illustrative approaches for condensing recordedcontent in accordance with the present invention.

FIG. 12a shows an illustrative flow diagram for distributing differentversions of interactive applications to user equipment devices inaccordance with the present invention.

FIG. 12b shows an illustrative flow diagram for modifying interactiveapplications for use by different user equipment devices in accordancewith the present invention.

FIG. 12c shows an illustrative flow diagram for allowing a userequipment device to access an adaptive interactive applicationimplemented in a platform-independent language in accordance with thepresent invention.

FIG. 12d shows an illustrative flow diagram for delivering videoprogramming and associated interactive applications to user equipmentdevices in a home network.

FIG. 13 shows an illustrative flow diagram for delivering videoprogramming and associated program data to user equipment devices in ahome network.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The amount of media available to users in any given media deliverysystem can be substantial. Consequently, many users desire a form ofmedia guidance, an interface that allows users to efficiently navigatemedia selections and easily identify media that they may desire. Anapplication that provides such guidance is referred to herein as aninteractive media guidance application or, sometimes, a guidanceapplication.

Interactive media guidance applications may take various forms dependingon the media for which they provide guidance. One typical type of mediaguidance application is an interactive television program guide.Interactive television program guides are well-known guidanceapplications that, among other things, allow users to navigate among andlocate television programming viewing choices and, in some systems,digital music choices. The television programming (and musicprogramming) may be provided via traditional broadcast, cable,satellite, Internet, or any other means. The programming may be providedon a subscription basis (sometimes referred to as premium programming),as pay-per-view programs, or on-demand such as in video-on-demand (VOD)systems.

With the advent of the Internet, mobile computing, and high-speedwireless networks, users are able to access media on personal computers(PCs) and devices on which they traditionally could not.Non-television-centric platforms (i.e., platforms that distribute mediawith equipment not part of the user's broadcast, cable or satellitetelevision-delivery network) allow users to navigate among and locatedesirable video clips, full motion videos (which may include televisionprograms), images, music files, and other suitable media. Consequently,media guidance is also necessary on modern non-television-centricplatforms. For example, media guidance applications may be provided ason-line applications (i.e., provided on a web-site), or as stand-aloneapplications or clients on user equipment devices, such as, for example,hand-held computers, personal digital assistants (PDAs), cellulartelephones, or traditionally-passive devices that have been enhancedwith circuitry for operating interactive media guidance applications(e.g., wrist watches, telephone hand sets, appliances, etc.). In somesystems, users may control equipment remotely via a media guidanceapplication. For example, users may access an online media guide and setrecordings or other settings on their in home equipment. This may beaccomplished by the on-line guide controlling the user's equipmentdirectly or via another media guide that runs on the user's equipment.Remote access of interactive media guidance applications is discussed ingreater detail in U.S. patent application Ser. No. 11/246,392, filedOct. 7, 2005, which is hereby incorporated by reference herein in itsentirety.

An illustrative interactive media guidance system 100 in accordance withthe present invention is shown in FIG. 1. System 100 is intended toillustrate a number of approaches by which media of various types, andguidance for such media, may be provided to (and accessed by) end-users.The present invention, however, may be applied in systems employing anyone or a subset of these approaches, or in systems employing otherapproaches for delivering media and providing media guidance.

The first approach represents a typical television-centric system inwhich users may access television (and in some systems music)programming. This includes programming sources 102 and distributionfacility 104. Media such as television programming and digital music isprovided from programming sources 102 to distribution facility 104,using communications path 106. Communications path 106 may be asatellite path, a fiber-optic path, a cable path, or any other suitablewired or wireless communications path or combination of such paths.

Programming sources 102 may be any suitable sources of television andmusic programming, such as television broadcasters (e.g., NBC, ABC, andHBO) or other television or music production studios. Programmingsources 102 may provide television programming in a variety of formatsin high definition and standard definition, such as, for example, 1080p,1080i, 720p, 480p, 480i, and any other suitable format.

Distribution facility 104 may be a cable system headend, a satellitetelevision distribution facility, a television broadcaster, or any othersuitable facility for distributing video media (e.g., televisionprograms, video-on-demand programs, pay-per-view programs) and audiomedia (e.g., music programming and music clips) to the equipment ofsubscribers of the corresponding cable, satellite, or IPTV system. Insome approaches, distribution facility 104 may also distribute othermedia to users, such as video and audio clips, web pages, andinteractive applications, that may be offered to subscribers of a givencable, satellite, or IPTV system. There are typically numeroustelevision distribution facilities 104 in system 100, but only one isshown in FIG. 1 to avoid overcomplicating the drawing.

Distribution facility 104 may be connected to various user equipmentdevices 108, 110, and 112. Such user equipment devices may be located,for example, in the homes of users. User equipment devices may includeuser television equipment 110, user computer equipment 112, or any othertype of user equipment suitable for accessing media. User equipment 108may be any type of user equipment (e.g., user television equipment, usercomputer equipment, cellular phones, handheld video players, gamingplatforms, mobile video devices, vehicle entertainment devices, etc.)and, for simplicity, user equipment devices may be referred to generallyas user equipment 108. User equipment devices may be fixed in locationor location free. For example, the user equipment device may beimplemented on a vehicle (e.g., an automobile), which is location free.The user equipment device may connect to the home network when thevehicle is parked in the garage or at another location. When the userequipment device is connected to the home network, the user equipmentdevice may retrieve content and associated data and applications fromthe home network.

User equipment devices 108, 110, and 112 may receive media (such astelevision, music, web pages, etc.) and other data from distributionfacility 104 over communications paths, such as communications paths114, 116, and 118, respectively. User equipment devices 108, 110, 112may also transmit signals to distribution facility 104 over paths 114,116, and 118, respectively. Paths 114, 116, and 118 may be cables orother wired connections, free-space connections (e.g., for broadcast orother wireless signals), satellite links, or any other suitable link orcombination of links.

A second approach illustrated in FIG. 1 by which media and mediaguidance are provided to end users is a non-television-centric approach.In this approach media such as video (which may include televisionprogramming), audio, images, web pages, or a suitable combinationthereof, are provided to equipment of a plurality of users (e.g., userequipment 108, user television equipment 110, and user computerequipment 112) by server 130 via communications network 126. Thisapproach is non-television-centric because media (e.g., televisionprogramming) is provided by and delivered at least partially, andsometimes exclusively, via equipment that have not traditionally beenprimarily focused on the television viewing experience.Non-television-centric equipment is playing a larger role in thetelevision viewing experience.

In some embodiments for this approach, communications network 126 is theInternet. Server 130 may provide for example, a web site that isaccessible to the user's equipment and provides an on-line guidanceapplication for the user. In such approaches, the user's equipment maybe, for example, a PC or a hand-held device such as a PDA or web-enabledcellular telephone that incorporates a web browser. In otherembodiments, server 130 uses the Internet as a transmission medium butdoes not use the Web. In such approaches, the user's equipment may run aclient application that enables the user to access media. In still otherapproaches, communications network 126 is a private communicationsnetwork, such as a cellular phone network, that does not include theInternet.

In yet other approaches, communications network 126 includes a privatecommunications network and the Internet. For example, a cellulartelephone or other mobile-device service provider may provide Internetaccess to its subscribers via a private communications network, or mayprovide media such as video clips or television programs to itssubscribers via the Internet and its own network.

The aforementioned approaches for providing media may, in someembodiments, be combined. For example, a distribution facility 104 mayprovide a television-centric media delivery system, while also providingusers' equipment (e.g., 108, 110 and 112) with access to othernon-television-centric delivery systems provided by server 130. Forexample, a user's equipment may include a web-enabled set-top box or atelevision enabled PC. Distribution facility 104 may, in addition totelevision and music programming, provide the user with Internet accesswhereby the user may access server 130 via communications network 126.Distribution facility 104 may communicate with communications network126 over any suitable path 134, such as a wired path, a cable path,fiber-optic path, satellite path, or combination of such paths.

Media guidance applications may be provided using any approach suitablefor the type of media and distribution system for which the applicationsare used. Media guidance applications may be, for example, stand-aloneapplications implemented on users' equipment. In other embodiments,media guidance applications may be client-server applications where onlythe client resides on the users' equipment. In still other embodiments,guidance applications may be provided as web sites accessed by a browserimplemented on the users' equipment. Whatever the chosen implementation,the guidance application will require information about the media forwhich it is providing guidance. For example, titles or names of media,brief descriptions, or other information may be necessary to allow usersto navigate among and find desired media selections.

In some television-centric embodiments, for example, the guidanceapplication may be a stand-alone interactive television program guidethat receives program guide data via a data feed (e.g., a continuousfeed, trickle feed, or data in the vertical blanking interval of achannel). Data source 120 in system 100 may include a program listingsdatabase that is used to provide the user with associated program datasuch as schedule information, program descriptions, program information(e.g., actors, directors, release date, ratings, genre, etc.), relatedarticles, interviews, reviews, metadata having links to related content,descriptive metadata, and other similar content or data relating to thetelevision programs. In some embodiments, the data may also includecontent or video related to television programs. Data source 120 mayalso be used to provide advertisements (e.g., program guideadvertisements and advertisements for other interactive televisionapplications), real-time data such as sports scores, stock quotes, newsdata, and weather data, application data for one or more media guidanceapplications or other interactive applications, and any other suitabledata for use by system 100. As another example, data source 120 mayprovide data indicating the types of information that may be included ininteractive media guidance overlays (e.g., at the request of the user,absent user modification, etc.).

Program guide data may be provided to user equipment, including userequipment located on home network 113, using any suitable approach. Forexample, program schedule data and other data may be provided to theuser equipment on a television channel sideband, in the verticalblanking interval of a television channel, using an in-band digitalsignal, using an out-of-band digital signal, or by any other suitabledata transmission technique. Program schedule data and other data may beprovided to user equipment on multiple analog or digital televisionchannels. Program schedule data and other data may be provided to theuser equipment with any suitable frequency (e.g., continuously, daily,in response to a request from user equipment, etc.).

In some television-centric embodiments, guidance data from data source120 may be provided to users' equipment using a client-server approach.For example, a guidance application client residing on the user'sequipment may initiate sessions with server 140 to obtain guidance datawhen needed. In some embodiments, the guidance application may initiatesessions with server 104 via a home network server (e.g., a serverlocated in home network 113 that supports the user equipment deviceslocated in home network 113).

There may be multiple data sources (such as data source 120) in system100, although only one data source is shown in FIG. 1 to avoidovercomplicating the drawing. For example, a separate data source may beassociated with each of a plurality of television broadcasters and mayprovide data that is specific to those broadcasters (e.g.,advertisements for future programming of the broadcasters, logo data fordisplaying broadcasters' logos in program guide display screens, etc.).Data source 120 and any other system components of FIG. 1 may beprovided using equipment at one or more locations. Systems componentsare drawn as single boxes in FIG. 1 to avoid overcomplicating thedrawings.

Data source 120 may provide data to distribution facility 104 overcommunications path 122 for distribution to the associated userequipment and home network 113 (discussed below) over paths 114, 116,118, and 119 (e.g., when data source 120 is located at a main facility).Communications path 122 may be any suitable communications path such asa satellite communications path or other wireless path, a fiber-optic orother wired communications path, a path that supports Internetcommunications, or other suitable path or combination of such paths.

In some television-centric and non-television centric approaches, datasource 120 may provide guidance data directly to user equipment 108 overpath 124, communications network 126, and path 128 (e.g., when datasource 120 is located at a facility such as one of programming sources102). In some embodiments of the present invention, data source 120 mayprovide guidance data directly to user equipment located on home network113 (discussed below) over path 124, communications network 126, andpath 139 (e.g., when data source 120 is located at a facility such asone of programming sources 102). Paths 124, 128, and 139 may be wiredpaths such as telephone lines, cable paths, fiber-optic paths, satellitepaths, wireless paths, any other suitable paths or a combination of suchpaths. Communications network 126 may be any suitable communicationsnetwork, such as the Internet, the public switched telephone network, ora packet-based network.

User equipment devices, including user equipment devices located on homenetwork 113 (discussed below), such as user television equipment andpersonal computers, may use the program schedule data and otherinteractive media guidance application data to display program listingsand other information (e.g., information on digital music) for the user.An interactive television program guide application or other suitableinteractive media guidance application may be used to display theinformation on the user's display (e.g., in one or more overlays thatare displayed on top of video for a given television channel).Interactive displays may be generated and displayed for the user usingany suitable approach. In one suitable approach, distribution facility104, server 130, or another facility, may generate application displayscreens and may transmit the display screens to user equipment fordisplay. In another suitable approach, user equipment may store data foruse in one or more interactive displays (e.g., program schedule data,advertisements, logos, etc.), and an interactive media guidanceapplication implemented at least partially on the user equipment maygenerate the interactive displays based on instructions received fromdistribution facility 104, server 130 or another facility. In someembodiments of the present invention, user equipment may store only thedata that is used to generate the interactive television displays (e.g.,storing logo data for a particular television broadcaster only if thelogo is to be included in one or more interactive television displays).In some embodiments of the present invention, user equipment may storedata that is not necessarily used to generate the interactive televisiondisplays (e.g., storing advertisements associated with a particulartelevision broadcaster that may or may not be displayed depending on,for example, the outcome of negotiations with the televisionbroadcaster). Any other suitable approach or combination of approachesmay be used to generate and display interactive overlays for the user.

In still other embodiments, interactive media guidance applications(television-centric and non-television centric) may be provided onlineas, for example, websites. For example, server 130 may provide an onlineinteractive television program guide. As another example, user equipment108 may be a mobile device, such as a cellular telephone or personaldigital assistant (PDA). The mobile device may be web-enabled to allowthe user to access an on-line guidance application (which may bemodified from its original version to make it appropriate for a cellularphone). Alternatively, the mobile device may have an applet thatcommunicates with server 130 to obtain guidance data via the Internet.

Server 130 may receive program schedule data and other data from datasource 120 via communications path 124, communications network 126, andcommunications path 132 or via another suitable path or combination ofpaths. Path 132 may be a satellite path, fiber-optic path, wired path,or any other path or combination of paths. User equipment 108 may accessthe on-line interactive media guidance application and other sourcesfrom server 130 via communications path 128. User equipment 108 may alsoaccess the application and other services on server 130 viacommunications path 114, distribution facility 104, and communicationspath 134. For example, a cable modem or other suitable equipment may beused by user equipment 108 to communicate with distribution facility104.

User equipment such as user television equipment 110, user computerequipment 112, and user equipment located on home network 113 may accessthe on-line interactive media guidance application and server 130 usingsimilar arrangements. User television equipment 110 may access theon-line interactive media guidance application and server 130 usingcommunications path 136 or using path 116, distribution facility 104,and path 134. User computer equipment 112 may access the on-lineinteractive media guidance application and server 130 usingcommunications path 138 or using path 118, distribution facility 104,and path 134. User equipment located on home network 113 may access theon-line media guidance application and server 130 using communicationspath 139 or using path 119, distribution facility 104, and path 134.Paths 136, 138, and 139 may be any suitable paths such as wired paths,cable paths, fiber-optic paths, wireless paths, satellite paths, or acombination of such paths.

In some embodiments, system 100 may support other interactiveapplications in addition to the interactive media guidance applications.Such applications may be implemented using any suitable approach. Forexample, the interactive applications may be implemented locally on theuser equipment or in a distributed fashion (e.g., using a client-serverarchitecture in which the user equipment serves at least partly, and forat least some of the time, as the client and a server, such as server140 at distribution facility 104, server 130, or other suitableequipment acts as the server). Other distributed architectures may alsobe used if desired. Moreover, some or all of the features of theinteractive applications of system 100 (including the media guidanceapplication) may be provided using operating system software ormiddleware software. Such operating system software and middleware maybe used instead of or in combination with application-level software. Inyet other approaches, interactive applications may also be supported byservers or other suitable equipment at one or more service providerssuch as service provider 142. Regardless of the particular arrangementused, the software that supports these features may be referred to as anapplication or applications.

For example, an interactive application such as a home shopping servicemay be supported by a service provider such as service provider 142 thathas sales representatives, order fulfillment facilities, accountmaintenance facilities, and other equipment for supporting interactivehome shopping features. A home shopping application that is implementedusing the user equipment may be used to access the service provider toprovide such features to the user. The user equipment may access serviceprovider 142 via distribution facility 104 and communications path 144or via communications network 126 and communications path 146.Communications paths such as paths 144 and 146 may be any suitable pathssuch as wired paths, cable paths, fiber-optic paths, satellite paths, ora combination of such paths.

Another example of an interactive application is a home bankingapplication. A home banking service may be supported using personnel atfacilities such as service provider 142. An interactive home bankingapplication that is implemented using the user equipment may access thehome banking service via distribution facility 104 and communicationspath 144 or via communications network 126 and communications path 146.

If desired, an interactive media guidance application such as anetwork-based video recorder or a video-on-demand application may besupported using server 140, server 130, a home network server, orequipment at service provider 142. Video-on-demand content and videorecorded using a network-based video recorder arrangement may be storedon server 140, server 130, a home network server, or at service provider142 and may be provided to the user equipment when requested by users.An interactive television program guide, for example, may be used tosupport the functions of a personal video recorder (sometimes called adigital video recorder) that is implemented using user equipment 108.Illustrative equipment that may be used to support personal videorecorder functions include specialized personal video recorder devices,integrated receiver decoders (IRDs), set-top boxes with integrated orexternal hard drives, or personal computers with video recordingcapabilities.

Interactive applications such as media guidance applications (e.g.,interactive television program guide applications and video-on-demandapplications), home shopping applications, home banking applications,game applications, and other applications (e.g., applications related toe-mail and chat or other communications functions, etc.) may be providedas separate applications that are accessed through a navigation shellapplication (i.e., a menu application with menu options corresponding tothe applications). The features of such applications may be combined.For example, games, video-on-demand services, home shopping services,network-based video recorder functions, personal video recorderfunctions, navigational functions, program guide functions,communications functions, and other suitable functions may be providedusing one application or any other suitable number of applications. Theone or more applications may display various overlays on user equipmentincluding, for example, interactive television information on top ofvideo for a given television channel.

Interactive television program guide applications, home bankingapplications, home shopping applications, network-based video recorderand personal video recorder applications, video-on-demand applications,gaming applications, communications applications, and navigationalapplications are only a few illustrative examples of the types ofinteractive media guidance and other applications that may be supportedby system 100. Other suitable interactive applications that may besupported include news services, web browsing and other Internetservices, and interactive wagering services (e.g., for wagering on horseraces, sporting events, and the like). Interactive television overlaysthat are displayed by these applications may also be customized inaccordance with the present invention.

Users may have multiple types of user equipment by which they accessmedia and obtain media guidance. For example, some users may have homenetworks that are accessed by in-home and mobile devices. As shown inFIG. 1, home network 113 communicates with distribution facility 104 andserver 130 over paths 119 and 139 (and, in the case of server 130,communications network 126). Such home networks 113 may be located, forexample, in homes of users or distributed, for example, among homes ofusers. Home networks 113 may each include a plurality of interconnecteduser equipment devices, such as, for example user equipment devices 108,110 and 112. In some embodiments, users may control in-home devices viaa media guidance application implemented on a remote device. Forexample, users may access an online media guidance application on awebsite via a personal computer at their office, or a mobile device suchas a PDA or web-enabled cellular telephone. The user may set settings(e.g., recordings, reminders, or other settings) on the on-line guidanceapplication to control the user's in-home equipment. The on-line guidemay control the user's equipment directly, or by communicating with amedia guidance application on the user's in-home equipment. For thepurposes of illustration and not limitation, remote devices (e.g.,cellular phones and personal computers) that are configured to accessthe user equipment devices in a home network will be described as a partof the home network.

FIGS. 2-6 show illustrative arrangements for user equipment. Anillustrative set-top box-based arrangement for user equipment 110 isshown in FIG. 2. User television equipment 110 may be stand-alone or apart of home network 113 (FIG. 1). Input/output 202 may be connected tocommunications paths such as paths 116 and 136 (FIG. 1). Input/outputfunctions may be provided by one or more wires or communications paths,but are shown as a single path in FIG. 2 to avoid overcomplicating thedrawing. Television programming, program guide data, and any othersuitable interactive media guidance application data or other data maybe received using input/output 202. Commands and requests and other datagenerated as a result of user interactions with the interactive mediaguidance application may also be transmitted over input/output 202.

Set-top box 204 may be any suitable analog or digital set-top box (e.g.,a cable set-top box). Set-top box 204 may contain an analog tuner fortuning to a desired analog television channel (e.g., a channelcomprising television programming, interactive television data, orboth). Set-top box 204 may also contain digital decoding circuitry forreceiving digital television channels (e.g., channels comprisingtelevision or music programming, interactive television data, etc.).Set-top box 204 may also contain a high-definition television tuner forreceiving and processing high-definition television channels. Analog,digital, and high-definition channels may be handled together ifdesired. Multiple tuners may be provided (e.g., to handle simultaneouswatch and record functions or picture-in-picture (PIP) functions). Box204 may be an integrated receiver decoder (IRD) that handles satellitetelevision. If desired, box 204 may have circuitry for handling cable,over-the-air broadcast, and satellite content.

Set-top box 204 may be configured to output media, such as televisionprograms, in a preferred format. Because television programs may bereceived in a variety of formats, set-top box 204 may contain scalercircuitry for upconverting and downconverting television programs intothe preferred output format used by set-top box 204. For example,set-top box 204 may be configured to output television programs in 720p.In this example, the scaler circuitry may upconvert standard-definitiontelevision programs having 480 lines of vertical resolution to 720pformat and downconvert certain high-definition television programshaving 1080 lines of vertical resolution to 720p format.

Box 204 may include a storage device (e.g., a digital storage devicesuch as a hard disk drive) for providing recording capabilities. Box 204may also be connected to a recording device 206 such as a videocassetterecorder, personal video recorder, optical disc recorder, or otherdevice or devices with storage capabilities. In some embodiments, box204 may be configured to record either standard-definition televisionprograms or high-definition television programs. In some embodiments,box 204 may be configured to record both standard-definition televisionprograms and high-definition television programs.

Set-top box 204 contains a processor (e.g., a microcontroller ormicroprocessor or the like) that is used to execute softwareapplications. Set-top box 204 may contain memory such as random-accessmemory for use when executing applications. Nonvolatile memory may alsobe used (e.g., to launch a boot-up routine and other instructions). Harddisk storage in box 204 or in recording device 206 may be used to backup data and to otherwise support larger databases and storagerequirements than may be supported using random-access memoryapproaches. Hard disk storage in box 204 or in recording device 206 mayalso be used to store and back up program guide settings or saved userpreferences.

Set-top box 204 may have infrared (IR) or other communications circuitryfor communicating with a remote control or wireless keyboard. Set-topbox 204 may also have dedicated buttons and a front-panel display. Thefront-panel display may, for example, be used to display the currentchannel to which the set-top box is tuned.

Set-top box 204 may also have communications circuitry such as a cablemodem, an integrated services digital network (ISDN) modem, a digitalsubscriber line (DSL) modem, a telephone modem, or a wireless modem forcommunications with other equipment. Such communications may involve theInternet or any other suitable communications networks or paths. Ifdesired, the components of set-top box 204 may be integrated into otheruser equipment (e.g., a television or video recorder).

Recording device 206 may be used to record videos provided by set-topbox 204. For example, if set-top box 204 is tuned to a given televisionchannel, the video signal for that television channel may be passed torecording device 206 for recording on a videocassette, compact disc,digital video disk, or internal hard drive or other storage device. Insome embodiments, recording device 206 may be configured to recordeither standard-definition television programs or high-definitiontelevision programs. In some embodiments, recording device 206 may beconfigured to record both standard-definition television programs andhigh-definition television programs. Recording device 206 may havecommunications circuitry such as a cable modem, an ISDN modem, a DSLmodem, or a telephone modem for communications with other equipment.Such communications may involve the Internet or any other suitablecommunications networks or paths. The components of recording device 206may be integrated into other user equipment (e.g., a television, stereoequipment, etc.).

Recording device 206 may be controlled using a remote control or othersuitable user interface. If desired, video recorder functions such asstart, stop, record and other functions for device 206 may be controlledby set-top box 204. For example, set-top box 204 may control recordingdevice 206 using infrared commands directed toward the remote controlinputs of recording device 206 or set-top box 204 may control recordingdevice 206 using other wired or wireless communications paths betweenbox 204 and device 206.

The output of recording device 206 may be provided to television 208 fordisplay to the user. In some embodiments, television 208 may be capableof displaying high-definition programming (i.e., HDTV-capable). Ifdesired, multiple recording devices 206 or no recording device 206 maybe used. If recording device 206 is not present or is not being activelyused, the video signals from set-top box 204 may be provided directly totelevision 208. Any suitable television or monitor may be used todisplay the video. For example, if the video is in a high-definitionformat, an HDTV-capable television or monitor is required to display thevideo. In the equipment of FIG. 2 and the other equipment of system 100(FIG. 1), the audio associated with various video items is typicallydistributed with those video items and is generally played back to theuser as the videos are played. In some embodiments, the audio may bedistributed to a receiver (not shown), which processes and outputs theaudio via external speakers (not shown).

Another illustrative arrangement for user television equipment 110(FIG. 1) is shown in FIG. 3. User television equipment 110 may bestand-alone or a part of home network 113 (FIG. 1). In the example ofFIG. 3, user television equipment 110 includes a recording device 302such as a digital video recorder (e.g., a personal video recorder (PVR))that uses a hard disk or other storage for recording video. Recordingdevice 302 may alternatively be a digital videodisc recorder, compactdisc recorder, videocassette recorder, or other suitable recordingdevice. Equipment 110 of FIG. 3 may also include a television 304. Insome embodiments, television 304 may be HDTV-capable. Input/output 306may be connected to communications paths such as paths 116 and 136 (FIG.1). Television programming, program schedule data, and other data (e.g.,advertisement data, data indicating one or more television channels forwhich the display of an overlay is to be customized, etc.) may bereceived using input/output 306. Commands and requests and other datafrom the user may be transmitted over input/output 306.

Recording device 302 may contain at least one analog tuner for tuning toa desired analog television channel (e.g., to display video for a giventelevision channel to a user, to receive program guide data and otherdata) and multiple other tuners may also be provided. Recording device302 may also contain digital decoding circuitry for receiving digitaltelevision programming, music programming, program guide data, and otherdata on one or more digital channels. Recording device 302 may alsocontain circuitry for receiving high-definition television channels. Ifdesired, recording device 302 may contain circuitry for handling analog,digital, and high-definition channels. Recording device 302 alsocontains a processor (e.g., a microcontroller or microprocessor or thelike) that is used to execute software applications. Recording device302 may contain memory such as random-access memory for use whenexecuting applications. Nonvolatile memory may also be used to store aboot-up routine or other instructions. The hard disk and other storagein recording device 302 may be used to support databases (e.g., programguide databases or other interactive television application databases).The hard disk or other storage in recording device 302 may also be usedto record video such as television programs or video-on-demand contentor other content provided to recording device 302 over input/output 306.

Recording device 302 may have IR communications circuitry or othersuitable communications circuitry for communicating with a remotecontrol. Recording device 302 may also have dedicated buttons and afront-panel display. The front-panel display may, for example, be usedto display the current channel to which the recording device is tuned.

Recording device 302 may also have communications circuitry such as acable modem, an ISDN modem, a DSL modem, a telephone modem, or awireless modem for communications with other equipment. Suchcommunications may involve the Internet or other suitable communicationsnetworks or paths.

If desired, recording device 302 may include a satellite receiver orother equipment that has wireless communications circuitry for receivingsatellite signals.

Recording device 302 of FIG. 3 or recording device 206 of FIG. 2 mayrecord new video while previously recorded video is being played back ontelevision 304 or 208. This allows users to press a pause button duringnormal television viewing. When the pause button is pressed, the currenttelevision program is stored on the hard disk of digital video recorder302. When the user presses play, the recorded video may be played back.This arrangement allows the user to seamlessly pause and resumetelevision viewing. Recording devices 302 and 206 may also be used toallow a user to watch a previously-recorded program while simultaneouslyrecording a new program.

The set-top box arrangement of FIG. 2 and the personal video recorderwith a built-in set-top box arrangement of FIG. 3 are merelyillustrative. Other arrangements may be used if desired. For example,user television equipment may be based on a WebTV box, a personalcomputer television (PC/TV), or any other suitable television equipmentarrangement. If desired, the functions of components such as set-top box204, recording device 302, a WebTV box, or PC/TV or the like may beintegrated into a television or personal computer or other suitabledevice.

An illustrative remote control 400 for operating user televisionequipment 110 (FIG. 1) or suitable user computer equipment 112 is shownin FIG. 4. Remote control 400 is only illustrative and any othersuitable user input interface may be used to operate user equipment(e.g., a mouse, trackball, keypad, keyboard, touch screen, voicerecognition system, etc.). Remote control 400 may have function keys 402and other keys 404 such as keypad keys, power on/off keys, pause, stop,fast-forward and reverse keys. Volume up and down keys 406 may be usedfor adjusting the volume of the audio portion of a video. Channel up anddown keys 408 may be used to change television channels and to accesscontent on virtual channels. Cursor keys 410 may be used to navigateon-screen menus. For example, cursor keys 410 may be used to position anon-screen cursor, indicator, or highlight (sometimes all genericallyreferred to herein as a highlight or highlight region) to indicateinterest in a particular option or other item on a display screen thatis displayed by the interactive television application.

OK key 412 (sometimes called a select or enter key) may be used toselect on-screen options that the user has highlighted.

Keys 402 may include RECORD key 414 for initiating recordings. MENUbutton 416 may be used to direct an interactive media guidanceapplication to display a menu on the user's display screen (e.g., ontelevision 208 or 304 or on a suitable monitor or computer display).INFO button 418 may be used to direct an interactive media guidanceapplication to display an information display screen. For example, whena user presses INFO key 418 while video for a given television channelis displayed for the user, an interactive television program guide maydisplay a FLIP/BROWSE overlay including program schedule information forthe current program on the given television channel on top of the video.As another example, when a particular program listing in an interactivetelevision program listings display screen is highlighted, the userpressing INFO button 418 may cause an interactive television programguide to provide additional program information associated with thatprogram listing (e.g., a program description, actor information,schedule information, etc.).

LOCK button 420 may be used to modify access privileges. For example, aparent may use LOCK button 420 or on-screen options to establishparental control settings for the interactive media guidanceapplication. The parental control settings may be time-based settings(e.g., to prevent a child from watching television during a particulartime block, such as from 3:00 PM to 5:00 PM). The parental controlsettings may also be used to, for example, block programming based onrating, channel, and program title. A locked or blocked program (orother media) is typically not viewable until the interactive mediaguidance application is provided with a suitable personal identificationnumber (PIN). Once this PIN has been entered, the interactive mediaguidance application will unlock the user's equipment and allow thelocked content to be accessed.

EXIT button 422 may be used to exit the interactive media guidanceapplication or to exit a portion of the interactive media guidanceapplication (e.g., to cause an interactive television program guide toremove a FLIP, BROWSE, or other interactive television overlay from thedisplay screen). GUIDE button 424 may be used to invoke an interactivetelevision program guide (e.g., a program guide menu screen, programlistings screen, or other program guide screen).

The keys shown in FIG. 4 are merely illustrative. Other keys or buttonsmay be provided if desired. For example, a music button may be used toaccess music with the interactive media guidance application. An editbutton may be used to edit stored content (e.g., to remove commercials,remove portions of a video, etc.). Alphanumeric buttons may be used toenter alphanumeric characters. A last or back button may be used tobrowse backward in the interactive media guidance application (e.g., toreturn to a previous channel, web page, or other display screen). Videorecorder function buttons such as a play button, pause button, stopbutton, rewind button, fast-forward button, and record button, may beused to control video recorder functions (local or network-based) insystem 100 (FIG. 1). A help key may be used to invoke help functionssuch as context-sensitive on-screen help functions.

Illustrative user computer equipment 112 (FIG. 1) is shown in FIG. 5.User computer equipment 112 may be stand-alone or a part of home network113 (FIG. 1). In the arrangement of FIG. 5, personal computer unit 502may be controlled by the user using keyboard 504 and/or other suitableuser input device such as a trackball, mouse, touch pad, touch screen,voice recognition system, or a remote control, such as remote control400 of FIG. 4. Video content, such as television programming or webpages having video elements, and interactive media guidance applicationdisplay screens may be displayed on monitor 506. Television and musicprogramming, media guidance application data (e.g., television programguide data), video-on-demand content, video recordings played back froma network-based video recorder, and other data may be received frompaths 118 and 138 (FIG. 1) using input/output 508. User commands andother information generated as a result of user interactions with theinteractive media guidance application and system 100 (FIG. 1) may alsobe transmitted over input/output 508.

Personal computer unit 502 may contain a television or video card, suchas a television tuner card, for decoding analog, digital, andhigh-definition television channels and for handling streaming videocontent. Multiple video cards (e.g., tuner cards) may be provided ifdesired. An illustrative television tuner card that may be used maycontain an analog television tuner for tuning to a given analog channel,digital decoding circuitry for filtering out a desired digitaltelevision or music channel from a packetized digital data stream, and ahigh-definition television tuner for tuning to a high-definitionchannel. Any suitable card or components in computer unit 502 may beused to handle video and other content delivered via input/output line508 if desired.

Personal computer unit 502 may contain one or more processors (e.g.,microprocessors) that are used to run the interactive media guidanceapplication or a portion of the interactive media guidance application.

Personal computer unit 502 may include a hard drive, a recordable DVDdrive, a recordable CD drive, or other suitable storage device ordevices that stores video, program guide data, and other content. Theinteractive media guidance application and personal computer unit 502may use a storage device or devices to, for example, provide thefunctions of a personal video recorder.

User equipment, such as user equipment 108, user television equipment110, user computer equipment 112, and user equipment located on homenetwork 113 (FIG. 1), may be used with network equipment such as server130, server 140, a home network server, and equipment at serviceproviders such as service provider 142 of FIG. 1 to providenetwork-based video recording functions. Video recording functions maybe provided by storing copies of television programs and other videocontent on a remote server (e.g., server 130, server 140, or a homenetwork server) or other network-based equipment, such as equipment at aservice provider such as service provider 142.

Video recordings may be made in response to user commands that areentered at user equipment 108 or user equipment located on home network113 (FIG. 1). In a personal video recorder arrangement, the interactivemedia guidance application may be used to record video locally on theuser equipment in response to the user commands. In a network-basedvideo recorder arrangement, the interactive media guidance applicationmay be used to record video or to make virtual recordings (describedbelow) on network equipment such as server 130, server 140, a homenetwork server, or equipment at service provider 142 in response to theuser commands. The user commands may be provided to the networkequipment over the communications paths shown in FIG. 1. The personalvideo recorder arrangement and the network-based video recorderarrangement can support functions such as fast-forward, rewind, pause,play, and record.

To avoid unnecessary duplication in a network-based video recorderenvironment, system 100 may provide network-based video recordingcapabilities by using virtual copies or recordings. With this approach,each user may be provided with a personal area on the network thatcontains a list of that user's recordings. The video content need onlybe stored once (or a relatively small number of times) on the networkequipment, even though a large number of users may have that videocontent listed as one of their recordings in their network-based videorecorder personal area. Personal settings or any other suitable data maybe stored in a user's personal area on the network.

The user television equipment and user computer equipment arrangementsdescribed above are merely illustrative. A more generalized embodimentof illustrative user equipment 108, 110, and 112 (FIG. 1) and userequipment located on home network 113 (FIG. 1) is shown in FIG. 6.Control circuitry 602 is connected to input/output 604. Input/output 604may be connected to one or more communications paths such as paths 114,116, 118, 128, 136, and 138 of FIG. 1. Media (e.g., televisionprogramming, music programming, other video and audio, and web pages)may be received via input/output 604 (e.g., from programming sources102, servers or other equipment, such as server 130, service providerssuch as service provider 142, distribution facility 104, etc.).Interactive media guidance application data, such as program scheduleinformation for an interactive television program guide, may be receivedfrom data source 120 via input/output 604. Input/output 604 may also beused to receive data from data source 120 for other interactivetelevision applications. The user may use control circuitry 602 to sendand receive commands, requests, and other suitable data usinginput/output 604.

Control circuitry 602 may be based on any suitable processing circuitry606 such as processing circuitry based on one or more microprocessors,microcontrollers, digital signal processors, programmable logic devices,etc. In some embodiments, control circuitry 602 executes instructionsfor an interactive media guidance application or other interactiveapplication (e.g., web browser) from memory. Memory (e.g., random-accessmemory and read-only memory), hard drives, optical drives, or any othersuitable memory or storage devices may be provided as storage 608 thatis part of control circuitry 602. Tuning circuitry such as one or moreanalog tuners, one or more MPEG-2 decoders or other digital videocircuitry, high-definition tuners, or any other suitable tuning or videocircuits or combinations of such circuits may also be included as partof circuitry 602. Encoding circuitry (e.g., for converting over-the-air,analog, or digital signals to MPEG signals for storage) may also beprovided. The tuning and encoding circuitry may be used by the userequipment to receive and display, play, or record a particulartelevision or music channel or other desired audio and video content(e.g., video-on-demand content or requested network-based or local videorecorder playback). Television programming and other video and on-screenoptions and information may be displayed on display 610. Display 610 maybe a monitor, a television, or any other suitable equipment fordisplaying visual images. In some embodiments, display 610 may beHDTV-capable. Speakers 612 may be provided as part of a television ormay be stand-alone units. Digital music and the audio component ofvideos displayed on display 610 may be played through speakers 612. Insome embodiments, the audio may be distributed to a receiver (notshown), which processes and outputs the audio via speakers 612.

A user may control the control circuitry 602 using user input interface614. User input interface 614 may be any suitable user interface, suchas a mouse, trackball, keypad, keyboard, touch screen, touch pad, voicerecognition interface, or a remote control.

FIG. 7 shows an illustrative home network 113. The user equipmentdevices located on home network 113 may be able to share program data(such as program listings and program information), recorded content,program guide settings, and any other suitable data with other userequipment devices located on home network 113. Interactive televisionapplications implemented on or accessible from user equipment deviceslocated on home network 113 may be able to adjust program guide settingsfor interactive television applications implemented on or accessiblefrom other user equipment devices located on home network 113.

FIG. 7 shows an illustrative home network 113 based on a client-serverarchitecture. Home network 113 may include server 702 and user equipment704, 706, and 708. Server 702 may be connected to user equipment 704,706, and 708 via communication paths 710. In some embodiments, server702 may be embedded within one of the user equipment devices.Communications paths 119 and 139 may connect home network 113 totelevision distribution facility 104 (FIG. 1) and communications network126 (FIG. 1), respectively, via server 702. User equipment 704, 706, and708 may each be any of user equipment 108, 110, and 112 (FIG. 1). Userequipment 704, 706, and 708 and server 702 may be placed in variousrooms within a home. For example, server 702 may be placed in a den,user equipment 704 may be placed in a children's room, user equipment706 may be placed in a living room, user equipment 708 may be placed ina parents' room. Communication paths 710 may be any suitablecommunications path for in-home networks, such as wired paths, cablepaths, fiber-optic paths, wireless paths, or a combination of suchpaths.

It should be understood by one skilled in the art that user equipmentdevices in home network 113 may be arranged in any suitableconfiguration (e.g., a peer-to-peer configuration). Additional homenetwork configurations are shown in U.S. patent application Ser. No.09/356,161, filed Jul. 16, 1999, which is being incorporated byreference herein in its entirety.

A user may select a television program for recording using a userequipment device located in a home network. Any of the user equipmentdevices located in the home network may be configured to retrieve therecording of the selected content. The user may configure the deliveryof the recorded content and associated data and interactive applicationsto each of the user equipment devices in the home network. Associateddata may include any suitable data, such as, for example, scheduleinformation, program descriptions, program information (e.g., actors,directors, release date, ratings, genre, etc.), related articles,interviews, reviews, metadata having links to related content,descriptive metadata, and other similar content or data relating to therecorded content that may be provided by data source 120 (FIG. 1) or anyother suitable device in system 100 (FIG. 1). Associated interactiveapplications may include any suitable interactive application, such as,for example, a navigation application, a commerce application, a votingapplication, a trivia application, a wagering application, a userbehavior monitoring application, a preference setting application, aninteractive advertising application, and any other suitable applicationthat may be provided by any suitable device in system 100 (FIG. 1).

An example of a navigation application is an application that allowsusers to navigate among content and associated data and interactiveapplications. An example of a commerce application is an applicationthat allows users to purchase products related to the associatedcontent. An example of a voting application is an application thatallows users to participate in polls conducted in connection with theassociated content. An example of a trivia application is an applicationthat allows users to answer trivia questions during playback of theassociated content. An example of a wagering application is anapplication that allows users to create and place wagers on eventsrelated to the associated content. An example of a user behaviormonitoring application is an application that tracks user behavior whilethe associated content is being played back. An example of a preferencesetting application is an application that allows users to selectpreferences relevant to associated content. An example of an interactiveadvertising application is an application that displays advertisementsand allows users to interact with the displayed advertisements.

For example, an episode of “Desperate Housewives” may be recorded on ahome network (e.g., home network 113 (FIG. 1)) that includes ahigh-definition user equipment device, a standard-definition userequipment device, and a cellular phone. In some embodiments, the usermay select the formats of the content to record. The user may select torecord the high definition, standard definition, and H.264 formats of“Desperate Housewives” on a home network server (e.g., server 702 (FIG.7)). The user may select the formats of “Desperate Housewives” todeliver to the user equipment devices in the home network.

In some embodiment, a server or user equipment device in the homenetwork may determine the available formats of “Desperate Housewives”and compare the requirements of the available formats of “DesperateHousewives” and the capabilities of the user equipment devices in thehome network to determine the most suitable formats of “DesperateHousewives” to record. A user equipment device in the home network thatrequests the recording of “Desperate Housewives” may be provided withthe format of “Desperate Housewives” in the most suitable format to bedisplayed on the user equipment device. For example, a high-definitionuser equipment device may be provided with the recording of “DesperateHousewives” in high definition and a cellular phone may be provided withthe recording of “Desperate Housewives” in H.264 format.

In some embodiments, the highest-quality format of “DesperateHousewives” may be recorded and later translated into the formatssuitable for display by the user equipment devices in the home network.The recording of “Desperate Housewives” may be translated into theformats suitable to be displayed by the user equipment devices in thehome network. For example, a standard-definition user equipment devicesmay be provided with the recording of “Desperate Housewives” translatedinto standard definition.

In some embodiments, an alternate version of “Desperate Housewives” maybe provided to any of the user equipment devices in the home network.The alternate version may be a condensed version of “DesperateHousewives” or an extended version of “Desperate Housewives”. Forexample, the alternate version of “Desperate Housewives” may be storedon a server (e.g., server 140 (FIG. 1)) and provided to one of the userequipment devices in the home network. In another example, the alternateversion of “Desperate Housewives” may be locally generated.

Also, the user may configure the delivery of data associated with“Desperate Housewives” to the user equipment devices in the homenetwork. For example, title information and a program summary may bedata that is associated with “Desperate Housewives”. The user may selectto deliver both the title information and the program summary to thestandard-definition and high-definition user equipment devices in thehome network. However, the user may only select to deliver the titleinformation to the cellular phone because of the limited displaycapabilities of the cellular phone.

Furthermore, the user may configure the delivery of applicationsassociated with “Desperate Housewives” to the user equipment devices inthe home network. For example, a shopping application may be anapplication that is associated with “Desperate Housewives”. The user mayselect to deliver the shopping application to the standard-definitionand high-definition user equipment devices. However, the user may optnot to deliver the shopping application to the cellular phone because ofthe limited display capabilities of the cellular phone.

In some embodiments, the associated applications may be stored inmultiple formats and the most suitable format of the associatedapplications may be provided to each of the user equipment devices. Forexample, if the user selects to deliver one of the associatedapplications to the cellular phone, the cellular phone may be providedwith a WML version of the associated application. In some embodiments,the associated applications may be modified or adapted for display byeach of the user equipment devices. For example, if the user selected todeliver one of the associated applications to the cellular phone, theassociated application may be modified for display by the cellularphone. In another example, the associated application may be implementedin a platform-independent language and may be adapted to be displayed bythe cellular phone.

FIG. 8a shows an illustrative display screen 800 of an interactive mediaguidance application for allowing a user to record content and storeassociated data and applications on a home network for later delivery touser equipment devices in the home network in accordance with thepresent invention. For example, the interactive media guidanceapplication may display screen 800 in response to the user selecting torecord content from, for example, a program listings screen. In anotherexample, the interactive media guidance application may display screen800 in response to the user selecting to record content by selecting arelated promotion or commercial. The promotion or commercial may bedisplayed in, for example, a program guide screen. Screen 800 mayinclude program information area 802, recording options 804, formatselection button 806, delivery options button 808, and set recordingbutton 810.

It should be understood by one skilled in the art that screen 800 is onetype of screen that may be displayed by the interactive media guidanceapplication for allowing users to record content. Other screens may bedisplayed by the interactive media guidance application withoutdeparting from the scope of the invention. Using interactive mediaguidance applications to set recordings of television programs isdiscussed in greater detail in Ellis U.S. Patent Publication No.2003/0149980, which is incorporated by reference herein in its entirety.

In some embodiments, software implemented on a server (e.g., server 130or 140 (FIG. 1) or home network server 702 (FIG. 7)) or user equipmentdevice may implement a feedback loop for recommending content for usersto record. The server or user equipment device may receive informationfrom user equipment devices in the home network regarding the manner inwhich content previously recommended by the software was viewed. Thesoftware may identify content to recommend to the user and the manner inwhich to provide the content to the user based on the receivedinformation. For example, if the user views a recommended program for afew minutes and then deletes the program, the software may not recommendsimilar programs in the future. In another example, if the user views arecommended program in its entirety, but fast forwards through a largeportion of the program, the software may provide a summary clip ofsimilar content in the future.

The software may provide the content to different user equipment devicesin the home network in different manners because users are likely toview content on different devices differently. For example, if the userequipment device is a portable device, the software may provide shortclips of the content to the portable device because the user hashistorically viewed content on the portable device for short periods oftime due to the limited battery life of the portable device.

Program information area 802 may include any of text, graphics, andvideo information that relate to the selected program. For example, asshown in FIG. 8a , program information area 802 includes the title,channel, time, and release year for the selected program. Programinformation area 802 also includes a summary and a representativegraphic of the selected program.

The interactive media guidance application may allow the user to selectany of program recording settings 804 for the selected program. One ofprogram recording settings 804 may allow the user to select to recordthe upcoming episode of the selected program. Another one of programrecording settings 804 may allow the user to select to record allupcoming episodes of the selected program (e.g., a series recording).Series recordings are discussed in greater detail in Knudson et al. U.S.Patent Publication No. 2005/0204388, which is hereby incorporated byreference herein in its entirety. Another one of program guide settings804 may allow the user to select to share the recording of the selectedprogram with the other user equipment devices in the home network. Itshould be understood by one skilled in the art that program recordingoptions 804 are merely illustrative and program recording options 804may include additional suitable options without departing from the scopeof the present invention.

Screen 800 may include a format selection button 806. In response to theuser selecting format selection button 806, the interactive mediaguidance application may display screen 820 (FIG. 8b ) for allowing theuser to select formats of the selected program to record, which will bedescribed in greater detail below. The interactive media guidanceapplication may allow the user to select individual formats of theselected program or an option to automatically record the most suitableformats of the selected program for all of the user equipment devices inthe home network.

Screen 800 may include a delivery options button 808. In response to theuser selecting delivery options button 808, the interactive mediaguidance application may display screen 840 (FIG. 8c ) for allowing theuser to select options for delivering the recorded content andassociated data and applications to each of the user equipment devicesin the home network. Screen 840 will be described in greater detailbelow.

Screen 800 may include a set recording button 810. In response to theuser selecting set recording button 810, the interactive media guidanceapplication may set a recording of the selected program in the formatsselected by the user. In some embodiments, the interactive mediaguidance application may record the selected formats of the selectedprogram on a server. For example, the interactive media guidanceapplication may record the selected formats of the selected program onnetwork server 140 (FIG. 1). In another example, the interactive mediaguidance application may record the selected formats of the selectedprogram on a home network server (e.g., server 702 (FIG. 7)). In someembodiments, the interactive media guidance application may record allof the selected formats of the selected program on the user equipmentdevice on which the interactive media guidance application isimplemented. In some embodiments, the interactive media guidanceapplication may record each selected format of the selected content onthe user equipment device that is most suitable to display the format ofthe selected content. In some embodiments, the interactive mediaguidance application may allow the user to specify the server or userequipment device on which to store each selected format of the selectedcontent.

The associated data and interactive applications selected for deliveryto user equipment devices in the home network may be retrieved andstored on any suitable server accessible by the home network or userequipment device in the home network (e.g., server 130 (FIG. 1), server140 (FIG. 1), server 702 (FIG. 7)). The associated data and interactiveapplications may be retrieved at any time from when the associated dataand applications are selected until just before the associated data andapplications are delivered.

FIG. 8b shows an illustrative display screen 820 of an interactive mediaguidance application for allowing a user to select formats of a selectedprogram to record in accordance with the present invention. Screen 820may be accessed by selecting format selection button 806 (FIG. 8a ).

The interactive media guidance application may determine the availableformats of the selected program and display an option (e.g., a checkbox)corresponding to each available format of the selected program on screen820. The user may wish to select multiple formats to allow userequipment devices having different capabilities to display the selectedprogram. In some embodiments, the interactive media guidance applicationmay determine which formats of the selected program are available bysearching program listings. For example, major television networks andcertain cable channels, such as, for example, ABC, CBS, NBC, FOX, andHBO may simultaneously broadcast television programs in ahigh-definition format (e.g., 720p) and a standard-definition format(e.g., 480i). In some embodiments, the interactive media guidanceapplication may access a website or database to determine which formatsof the selected program are available on a server. The selected programmay have been uploaded to a server in various formats after the selectedprogram has been broadcast (e.g., server 130 (FIG. 1), server 140 (FIG.1)). For example, the server may store the selected program in differentmedia formats (e.g., MPEG-4 format, Windows Media Video format,Universal Media Disc format, H.264). In another example, the server maystore the selected program in a streaming media format encoded atvarious bit rates (e.g., 50 Kbps, 100 Kbps, 300 Kbps) to accommodateuser equipment devices having different bandwidth capabilities.

As shown in FIG. 8b , the interactive media guidance application hasdetermined that the selected program “Desperate Housewives” is availablein high definition, standard definition, MPEG-4, and H.264 formats. As aresult, the interactive media guidance application may displaycheckboxes 822, 824, 826, and 828 in screen 820. The user may select anyof checkboxes 822, 824, 826, and 828 to instruct the interactive mediaguidance application to record the formats of the selected programcorresponding to checkboxes 822, 824, 826, and 828. For example, theuser may consider the capabilities of the user equipment devices in thehome network and select formats of the selected program that aresupported by the user equipment devices.

The interactive media guidance application may also display checkbox 830to allow the user to select to record the formats that are the mostsuitable for display by all of the user equipment devices in the homenetwork. For example, if the home network includes a cellular phone anda high-definition capable user equipment device, the interactive mediaguidance application may automatically select to record the selectedprogram in H.264 and high-definition formats. In this approach, theinteractive media guidance application may guarantee that all of theuser equipment devices in the home network are capable of displaying atleast one format of the selected content without requiring any userinteraction. Recording the most suitable formats of content for displayby the user equipment devices in the home network is described ingreater detail below in connection with FIG. 10 a.

In response to the user pressing save button 832, the interactive mediaguidance application may exit screen 820 and display screen 800 (FIG. 8a).

It should be understood by one skilled in the art that the interactivemedia guidance application may not allow the user to select the formatsof the selected program to record. Instead the interactive mediaguidance application may automatically record the formats of theselected program that are suitable for display by the user equipmentdevices in the home network. Alternatively, the interactive mediaguidance application may automatically record the highest quality formatof the selected program, which may be translated at a later time to theformats of the content that are suitable for display by the userequipment devices in the home network.

FIG. 8c shows an illustrative display screen 840 of an interactive mediaguidance application for allowing a user to select delivery options fora selected program and associated data and applications to userequipment devices in a home network. The interactive media guidanceapplication may display screen 840 in response to the user selectingdelivery options button 808 (FIG. 82a ). Screen 840 may include deliveryoptions buttons 842, 844, and 846 and return button 848.

The interactive media guidance application may generate delivery optionsbuttons 842, 844, and 846 to correspond to the user equipment devices inthe home network. As shown in FIG. 8c , the interactive media guidanceapplication has generated delivery options button 842 for a cellularphone in the home network, delivery options button 844 for a living roomhome theatre in the home network, and delivery options button 846 for abedroom television system in the home network.

In some embodiments, the interactive media guidance application maygenerate delivery options buttons that correspond to user equipmentdevices that may be added to the home network in the future. Forexample, the interactive media guidance application may display deliveryoptions for user equipment devices that the interactive media guidanceapplication predicts will be added to the home network. In anotherexample, the interactive media guidance application may display deliveryoptions for user equipment devices that a service provider is planningto introduce as upgrades to existing user equipment devices.

In some embodiments, the cellular phone may be a user equipment devicein the home network (e.g., user equipment 704 (FIG. 7)). In someembodiments, the cellular phone may be considered to be a part of thehome network because it is configured to remotely access the homenetwork (e.g., over communications network 126 and communications path139 (FIG. 1)). Other user equipment devices that may remotely access thehome network using communications network 126 may also be considered tobe part of the home network (e.g., a personal computer connected to theInternet).

In response to the user selecting any of delivery options 842, 844, or846, the interactive media guidance application may display a screenthat allows the user to select options for delivering the selectedprogram and associated data and applications to the corresponding userequipment device.

FIGS. 8d-f show an illustrative screen 860 of an interactive mediaguidance application for allowing a user to select delivery options of aselected program and associated data and applications for various userequipment devices in a home network in accordance with the presentinvention. The interactive media guidance application may display screen860 in response to the user selecting any of delivery options buttons842, 844, or 846. Screen 860 may include content delivery options area862, data delivery options 864, application delivery area 884, and savebutton 890.

It should be understood that the delivery options and delivery optionsscreens are merely illustrative and that any suitable approach toallowing users to select delivery options of content and associated dataand applications to user equipment devices in the home network may beused without departing from the scope of the present invention. Forexample, screens 840 (FIG. 8c ) and 860 (FIGS. 8d-f ) may be combinedinto a single screen on which the user may select delivery options forall of the user equipment devices in the home network. In anotherexample, delivery options for a user equipment device may be selectedimmediately prior to the delivery of content to the user equipmentdevice.

In some embodiments, the interactive media guidance application mayallow the user to configure delivery options for a selected program andassociated data and applications for each of the user equipment devicesin the home network. As shown in FIGS. 8d-f , the user may set deliveryoptions for “Desperate Housewives” for the user equipment devices in thehome network. In this approach, the interactive media guidanceapplication may allow the user to set different delivery options forother programs that the user may wish to record.

In some embodiments, the interactive media guidance application mayallow the user to configure delivery options for all content andassociated data and applications for each of the user equipment devicesin the home network. In this approach, the interactive media guidanceapplication may allow the user to set delivery options for the userequipment devices in the home network that are effective for all contentdelivered to the user equipment devices.

Content delivery options area 862 may include checkboxes 866, 868, and872 for allowing the user to select content listing options for theselected program. The user may select checkbox 866 if the user wishes toautomatically deliver the most suitable format of the selected programto the user equipment device for which delivery options are beingselected. The interactive media guidance application may compare therequirements of the formats of the selected program and the capabilitiesof the user equipment device for which delivery options are beingselected to determine the most suitable format of the selected programfor the user equipment device. For example, if the user selects torecord a television program in high-definition and H.264, the televisionprogram may be delivered in high-definition format to a high-definitionuser equipment device in the home network and in H.264 format to acellular phone in the home network. This approach is described ingreater detail below in connection with FIG. 10 a.

In some embodiments, the user may not have selected to record the mostsuitable format of the selected program for the user equipment device orthe most suitable format of the selected program may not have beenavailable for recording or storage. The interactive media guidanceapplication may allow the user to select checkbox 866, even though theselected program has not been recorded in the most suitable format forthe user equipment device for which delivery options are being selected.For example, the selected program may be recorded in high-definitionformat and one of the user equipment devices in the home network mayonly be configured to display standard-definition content. In thisapproach, when the selected program is requested by the user equipmentdevice, one of the formats of the selected program may be translatedinto a format that is suitable for display by the user equipment device.The translation of the selected program may be provided to the userequipment device. This approach is described in greater detail below inconnection with FIG. 10 b.

Content delivery options area 862 may include checkbox 868 for allowingthe user to select a format of the selected program to deliver to theuser equipment device for which delivery options are being selected. Theinteractive media guidance application may display format selection dropdown menu 870. The menu items in format selection drop down menu 870 maycorrespond to the formats of the selected program that were selected forrecording in screen 820 (FIG. 8b ). The user may select a format thatthe user knows is compatible with the user equipment device for whichdelivery settings are being selected. As shown in FIG. 8d , if the userequipment device for which delivery options are being selected is acellular phone, the user may select to deliver the H.264 format of theselected program. Other suitable formats of the selected program thatare suitable for display by the cellular phone may include, for example,MPEG-4, Universal Media Disc™ format, Windows Media Video™, Quicktime™,and any other suitable media format. As shown in FIG. 8e , if the userequipment device for which delivery options are being selected is ahigh-definition user equipment device, the user may select to deliverthe high-definition format of the selected program. As shown in FIG. 8f, if the user equipment device for which delivery options are beingselected is a standard-definition user equipment device, the user mayselect to deliver the standard-definition format of the selectedprogram.

Content delivery options area 862 may include checkbox 872 for allowingthe user to select whether to deliver an alternate version of theselected program to the user equipment device for which delivery optionsare being selected. The interactive media guidance application maydisplay drop down menu 874 to allow the user to select to deliver analternate version of the selected program to the user equipment devicefor which delivery options are being selected. The user may select menuitems in drop down menu 874 that correspond to different alternateversions of the selected program. Drop down menu 874 may includelistings for delivering summaries or clips of the selected program invideo, audio, and text and listings for delivering the selected programin audio and text. For example, if the selected program is a sportsprogram, the user may select to deliver a highlights reel to a cellularphone. In another example, if the selected program is a drama, the usermay select to deliver a summary of the drama to a handheld video player.In another example, the user may select to deliver a segment of theselected program to a handheld computer (e.g., the Top 10 List for theLate Show with David Letterman or Weekend Update for Saturday NightLive). In addition, drop down menu 874 may also include listings fordelivering extended versions of the selected program to include, forexample, outtakes, commentary, and other extra material in addition tothe selected program itself. For example, the user may select to deliverthe selected program to a high-definition user equipment device alongwith director commentary.

In some embodiments, the alternate version of the selected program maybe locally generated by a server or user equipment device associatedwith the home network on which the selected program is stored. Forexample, the selected program may be split into segments and a subset ofthe segments may be combined to create a condensed version of theselected program. In another example, the selected program may beconverted into audio by stripping out the video portion of the content.In another example, the selected program may be converted into text byreferring to closed-captioning data. Generating an alternate version bycondensing content is described in greater detail below in connectionwith FIG. 11a -c.

Extended versions of the selected program may also be generated byappending material to the selected program. For example, additionalmaterial may be joined at any location during the selected program(e.g., at the beginning, middle, or end of the selected program).

In some embodiments, the alternate version of the selected program maybe provided by broadcasters or program providers for retrieval on aserver. For example, a producer may produce a video summary of theselected program by identifying and joining together the most relevantvideo clips. In another example, a writer may write a text summary ofthe selected program. A website may link to the video or text summary ofthe selected program. This type of condensed content may be moreaccurate than locally-generated alternate versions because they aregenerated by people, instead of by artificial intelligence.

The service provider may charge users to access alternate versions ofthe selected program. For example, a user may record an episode of“Desperate Housewives” without incurring any fees. However, if the userselects to retrieve an alternate version of “Desperate Housewives”, thenthe service provider may charge the user a fee depending which alternateversion the user selects. The service provider may charge different feesfor different versions of the selected program. For example, the serviceprovider may charge more for an extended version of the selected programthan a condensed version of the selected program.

The selected alternate version of the selected program may also beformatted in accordance with the format options in content deliveryoptions area 862. For example, a highlight video clip of the selectedprogram may be retrieved from a website in MPEG-4 format. If the contentdelivery options for the selected program specifies that the contentshould be delivered in H.264 format, the highlight video may beretrieved from the website and transcoded to H.264 format.

Data delivery options area 864 may include checkboxes 876, 878, 880, and882. The interactive media guidance application may generate thecheckboxes in data delivery options area 864 by determining whichassociated content is available to be provided to user equipment devicesin addition to the selected program.

In some embodiments, the interactive media guidance application maysearch program listings for the selected program to determine if anyassociated data is available. For example, a program listings screen for“Desperate Housewives” may include schedule information, programdescriptions, and program information (e.g., actors, directors, releasedate, ratings, genre, etc.). The program listings screen for “DesperateHousewives” may also include links to additional data associated with“Desperate Housewives”, such as, related articles, interviews, reviews,and other similar content or data.

The interactive media guidance application may generate options (e.g.,checkboxes) that correspond to the data associated with the selectedprogram. As shown in FIG. 8d-f , the interactive media guidanceapplication has generated illustrative checkboxes 876, 878, 880, and 882that correspond to data associated with “Desperate Housewives”.

The user may select any one or more of checkboxes 876, 878, 880, or 882to deliver data corresponding to the selected checkboxes to the userequipment device for which delivery options are being selected. As shownin FIG. 8d , the user has selected to deliver title information for“Desperate Housewives” to the cellular phone in the home network. Asshown in FIGS. 8e-f , the user has selected to deliver an episode guide,season program listings, related articles, and title information for“Desperate Housewives” to the high-definition and standard-definitionuser equipment devices in the home network.

Alternatively, the user may select checkbox 883 to select to deliver themost suitable data to the user equipment device for which deliveryoptions are being selected. If the user selects checkbox 883, theinteractive media guidance application may determine a selection of theassociated data that the user equipment device is capable of receivingand displaying. For example, if one particular type of associated datarequires a large amount of storage space, the interactive media guidanceapplication may not select to deliver the associated data to a userequipment device that has a limited bandwidth. In another example, ifanother particular type of associated data requires a large amount ofdisplay area, the interactive media guidance application may not selectto deliver the associated data to a user equipment device that has a lownative resolution or screen size.

Accordingly, the interactive media guidance application may select todeliver all available associated data to the high-definition userequipment devices because the high-definition user equipment devices hasa bandwidth large enough to receive the associated data and a sufficientresolution to display the associated data simultaneously with theselected content. On the other hand, the interactive media guidanceapplication may select to deliver a limited amount of data (e.g., titleinformation) to a cellular phone because of the bandwidth and displaylimitations of the cellular phone.

The data may be displayed by the user equipment devices in any suitableformat. For example, the high-definition user equipment device maydisplay the recording of “Desperate Housewives” and the associated datasimultaneously in adjacent panels. In another example, the cellularphone may allow the user to select a menu option for displayingassociated data for “Desperate Housewives”.

Application delivery options area 884 may include checkboxes 886 and888. The interactive media guidance application may generate thecheckboxes in application delivery options area 884 by determining whichassociated interactive applications are available to be provided to theuser equipment devices in addition to the selected program. Area 884 mayalso include a version selection drop down menu 891 and checkbox 889.

In some embodiments, the interactive media guidance application maysearch program listings for the selected program to determine if anyassociated interactive applications are available. For example, aprogram listings screen for “Desperate Housewives” may include links tointeractive applications associated with “Desperate Housewives”. Inanother example, the interactive media guidance application may search adatabase of interactive applications to determine if any of theinteractive applications are associated with the selected program. Asshown in screen 860, “Desperate Housewives” may be associated with acontent navigation application for allowing the user to view therecorded program and associated data, a commerce application forallowing the user to view and/or purchase products featured in therecorded program. A cross-platform interactive commerce application isdescribed in greater detail in U.S. patent application Ser. No.11/323,539, which is hereby incorporated by reference herein in itsentirety.

The interactive media guidance application may generate options (e.g.,checkboxes) that correspond to the interactive applications associatedwith the selected program. As shown in FIG. 8d-f , the interactive mediaguidance application has generated illustrative checkboxes 886 and 888that correspond to interactive applications associated with “DesperateHousewives”.

In response to the user selecting checkboxes 886 and/or 888, theinteractive media guidance application may configure the interactiveapplications corresponding to the selected checkboxes to be delivered tothe user equipment device for which delivery options are being selected.

In some embodiments, the interactive applications may be available inmultiple versions. The most suitable version of the selected interactiveapplication may be delivered to the user equipment device for whichdelivery options are being selected. Delivering the most suitableversion of an interactive application to a user equipment device isdescribed below in greater detail in connection with FIG. 12 a.

In some embodiments, the selected interactive application may bemodified for display by the user equipment device for which deliveryoptions are being selected. The modified version of the selectedinteractive application may be delivered to the user equipment devicefor which delivery options are being selected. Modifying an interactiveapplication for execution by a user equipment device is described ingreater detail below in connection with FIG. 12 b.

In some embodiments, the selected interactive application may beimplemented in a platform-independent programming language and may beconfigured to adapt its display screens to the user equipment device onwhich it is being run. The selected interactive application may bedelivered to the user equipment device for which delivery options arebeing selected. Implementing interactive applications inplatform-independent programming languages is described below in greaterdetail in connection with FIG. 12 c.

In some embodiments, the interactive media guidance application may onlydisplay checkboxes for associated interactive applications that may berun by the user equipment device for which delivery options are beingselected. For example, if a cellular phone in the home network cannotdisplay an interactive application, a checkbox for the interactiveapplication may not be displayed in the application delivery options forthe cellular phone.

The user may select checkbox 889 to select to deliver the most suitableversions of the selected interactive applications to the user equipmentdevice for which settings are being selected. If the user selectscheckbox 889, the interactive media guidance application may determinewhich versions of the selected interactive media guidance applicationsmay be run by the user equipment device for which delivery options arebeing selected. The interactive media guidance application may select todeliver one of the versions of the selected interactive applicationsthat may be run by the user equipment device. For example, theinteractive media guidance application may automatically select todeliver a WML version of an interactive application to a cellular phoneand a HTML version of an interactive application to a personal computer.The WML and HTML versions of the interactive application may be madeavailable using any suitable technique (e.g., modifying an XML versionof the interactive application or storing WML and HTML versions of theinteractive application).

In some embodiments, if checkbox 889 is selected, the interactive mediaguidance application may override the user's selections due to thedisplay limitations of the user equipment device. The interactive mediaguidance application may consider whether the user equipment device maydisplay the interactive application and the selected programsimultaneously. For example, the interactive media guidance applicationmay not select to deliver any interactive applications to a cellularphone because the cellular phone cannot display any of the interactiveapplications and the selected program simultaneously.

In some embodiments, if checkbox 889 is selected, the interactive mediaguidance application may override the user's selections due to thebandwidth limitations of the user equipment device. The interactivemedia guidance application may also consider whether the user equipmentdevice has sufficient bandwidth to retrieve the interactive applicationin addition to the selected program. For example, the interactive mediaguidance application may not select to deliver any interactiveapplications to a cellular phone even though the cellular phone may beable to run some of the interactive applications because the cellularphone does not have the sufficient bandwidth to retrieve the interactiveapplication and the selected program.

Alternatively, the interactive media guidance application may allow theuser to select the versions of interactive applications to deliver tothe user equipment device from version selection drop down menu 891. Theinteractive media guidance application may determine which versions ofthe interactive applications are available and include options to selectthe available versions in version selection drop down menu 891. In someembodiments, the interactive media guidance application may display aseparate version selection drop down menu 891 for each listedinteractive application. The interactive media guidance application mayallow the user to select a version of interactive application fordelivery to the user equipment device for which delivery options arebeing selected.

In response to the user selecting save button 890, the interactive mediaguidance application may save the user's selection of delivery options.The interactive media guidance application may return to screen 840(FIG. 8c ).

In some embodiments, the user may configure the interactive mediaguidance application to automatically transfer one or more of theselected versions of content to the corresponding user equipment devicesor peripheral devices (e.g., the user does not have to request deliveryof the content to a user equipment device). For example, the user mayindicate that the selected content (e.g., an episode of “DesperateHousewives”) should automatically be delivered to a handheld videoplayer when the handheld video player is connected to a user equipmentdevice in the home network (or otherwise enabled to access the episodeof “Desperate Housewives”). In this example, the handheld video player(or any other user equipment device) may be implemented in, for example,a vehicle and selected content may be automatically transferred to thehandheld video player when the vehicle is enters, for example, a garageor another location from which the handheld video player may communicatewith the home network.

In another example, the user may indicate that selected content (e.g.,an episode of “Desperate Housewives”) should automatically be deliveredto the high-definition user equipment device when the high-definitionversion of “Desperate Housewives” becomes available. In this example,the high-definition version of “Desperate Housewives” may be availableafter a recording of the high-definition version of “DesperateHousewives” is complete. Alternatively, the high-definition version of“Desperate Housewives” may be available after a recording of astandard-definition version of “Desperate Housewives” is complete andafter the standard-definition has been translated into high-definition.Alternatively, the high-definition version of “Desperate Housewives” maybe available after the high-definition version of “Desperate Housewives”has been uploaded to a server and is available for retrieval.

In another example, the user may indicate that selected content (e.g.,the weather report or sports highlights) should automatically bedelivered to a cellular phone on a predetermined schedule (e.g., everyweekday morning). In this approach, the user may view the selectedcontent away from the home network on a regular basis (e.g., on theuser's commute to work) without the hassle of reconfiguring the transferof the content on a regular basis.

The content selected for automatic transfer may be delivered to theselected user equipment device or peripheral device in accordance withthe delivery options for the selected user equipment device orperipheral device (e.g., content delivery options, data deliveryoptions, application delivery options). For example, if content isselected for automatic transfer to two different user equipment devices,the format of the content delivered to the user equipment devices maydiffer because the capabilities of the user equipment devices aredifferent.

Automatic transfer of content is discussed in greater detail in U.S.patent application Ser. No. 10/942,070, filed Sep. 15, 2004, which ishereby incorporated by reference herein in its entirety.

In some embodiments, the content and associated data and applicationsmay be delivered to a user equipment device in a format that isconsistent with the way a user has interacted with and consumed similarcontent, data, and applications in the past using the user equipmentdevice. In this approach, the interactive media guidance application maymonitor the user's interaction with content, data, and applicationsusing the user equipment device and feed back the monitoring informationto the source of the content, data, and applications (e.g., home networkserver 702 (FIG. 7)). The source of the content, data, and applicationsmay analyze the monitoring information and deliver content, data, andapplications to the user equipment device in the future in accordancewith the monitoring information. In this approach, the delivery optionsselected by the user in screen 860 (FIGS. 8d-f ) may be dynamicallymodified based on the user's behavior.

In particular, content may be delivered to the user based on thecapabilities of the user equipment device and the manner in which theuser has consumed content in the past. First, a suitable format of thecontent may be selected such that the user equipment device isconfigured to play back the format of the content. Next, the source ofthe content may consider the user's previous viewing patterns todetermine the manner in which to present the content to the user. Forexample, the source may select to deliver a condensed version of thecontent if the user has a short average viewing time or if the userfrequently fast forwards through the content using the user equipmentdevice. In another example, an extended version of the content may bedisplayed to the user if the user seems interested not only in viewingcontent, but learning more about the background of the content, forexample, by re-watching certain scenes or by perusing related articles.

Associated program data may be delivered to the user based on thecapabilities of the user equipment device and the manner in which theuser has consumed data in the past. The source of the program data maydetermine a selection of interactive applications that may be displayedby the user equipment device. The source may deliver a subset of thatselection of program data based on the manner in which the user haspreviously consumed program data using the user equipment device. Forexample, the source may deliver a minimal amount of program data if theuser has repeatedly minimized data displays or has not accessedassociated program data. In another example, the source may select todeliver a particular type of program data from the selection of programdata if the user interacts frequently with that type of program data.

Associated interactive applications may be delivered to the user basedon whether the user equipment device is capable of executing theinteractive applications and the manner in which the user has previouslyconsumed interactive applications. The source of the interactiveapplications may determine a selection of interactive applications thatmay be executed by the user equipment device. The source may deliver asubset of that selection of interactive applications based on the mannerin which the user previously consumed interactive applications using theuser equipment device. For example, if the user has not accessedassociated interactive applications using the user equipment device, thesource may not deliver any associated interactive applications. Inanother example, if the user frequently accesses a certain type ofinteractive application using the user equipment device, the source mayselect that type of interactive application from the selection ofinteractive applications to deliver to the user equipment device.

This type of feedback loop regarding the usage of content, data, andapplications is particularly useful when a user is consistent in his orher usage of the content, data and applications. For example, a userequipment device located in a vehicle may be used primarily to allowchildren to view content and associated program data and applicationswhile the parent is driving the children to school. The source of thecontent, data, and application may deliver suitable content, data,and/or applications to the user equipment device prior to the departureof the vehicle or as the vehicle is departing the garage. If thechildren historically view children's programming for twenty minutes andinteract with an associated interactive game, the source may delivertwenty-minute long segments of children's programming that were recordedor are accessible for download from a database. The segments may also beformatted based on the display capabilities of the user equipmentdevice. If the children do not usually interact with associated programdata, the source may not deliver any program data associated with theselected content to the user equipment device. The source may deliver asuitable format of the interactive game to the user equipment device ina format that may be executed by the user equipment device. Once thevehicle has disconnected from the source and the children begin toconsume the customized content, program data, and applications, the userequipment device may track the children's interactions with thecustomized content, program data, and applications. When the vehiclereconnects with the source (e.g., after the parent has returned fromsending the children to school), the user equipment device maycommunicate the manner in which the children consumed the customizedcontent, program data, and applications to the source to allow thesource to refine the manner in which content, program data, andapplications are delivered to the user equipment device in the future.

In some embodiments, the source may send a test instances of associatedprogram data or interactive application to see how the user consumesthat data or application and determine whether or not to deliver thattype of data or interactive application in the future.

FIGS. 9a-b show illustrative display screens 900 and 910 of aninteractive media guidance application implemented on a cellular phonein a home network for retrieving and displaying recorded content andassociated data and applications in accordance with the presentinvention. The cellular phone may be configured to communicate directlywith user equipment devices in the home network or indirectly with theuser equipment devices in the home network via a communications network(e.g., communications network 126 (FIG. 1)).

The interactive media guidance application may display screen 900 inresponse to a user selecting to view recorded content. As shown in FIG.9a , screen 900 may include a listing of recorded content 902. Thelisting of recorded content may include content shared among the userequipment devices in the home network. As shown in FIG. 9a , the userhas selected a listing for a recording of “Desperate Housewives”. Forthe purposes of illustration and not limitation, the recorded contentshared among the user equipment devices in the home network will bedescribed as being stored on a home network server (e.g., server 702(FIG. 7).

Screen 900 may also include retrieve option 904 and back button 906. Inresponse to the user selecting retrieve option 904, the interactivemedia guidance application may retrieve the recorded content and anyselected associated data and applications in accordance with thedelivery options selected from screen 860 (FIG. 8d ). In response to theuser selecting back button 906, the interactive media guidanceapplication may display the screen from which screen 900 was accessed.

Referring to FIG. 9b , the interactive media guidance application maydisplay screen 910 in response to the user selecting a recorded contentlisting and retrieve button 904 from screen 900 (FIG. 9a ). As shown inFIG. 9b , screen 910 includes a video 912 and associated data 914 forthe content selected by the user in screen 900 (FIG. 9a ). In accordancewith content delivery options 862 (FIG. 8d ) for the cellular phone,video 912 may be a summary clip of “Desperate Housewives” in H.264format. In some embodiments, the summary clip may be retrieved from aserver (e.g., server 130 or server 140 (FIG. 1)). In some embodiments,the summary clip may be generated by the home network server bycondensing the recording of “Desperate Housewives”, as described belowin connection with FIG. 11a . If necessary, the home network server maytranscode the summary clip of “Desperate Housewives” into H.264 format.

In accordance with data delivery options 864 (FIG. 12d ), data 914 maybe title information for “Desperate Housewives”. As shown in FIG. 9b ,data 914 is displayed in a scrolling message in screen 910 above video912. It should be understood by one skilled in the art that video 912and data 914 may be displayed by the interactive media guidanceapplication implemented on the cellular phone in any suitablearrangement. In accordance with delivery options area 884 (FIG. 8d ),none of the interactive applications associated with “DesperateHousewives” are delivered to or accessible by the cellular phone.

FIGS. 9c-d show illustrative display screens 920 and 930 of aninteractive media guidance application implemented on a high-definitionuser equipment device in a home network for retrieving and displayingrecorded content and associated data and applications in accordance withthe present invention.

The interactive media guidance application may display screen 920 inresponse to the user selecting to view recorded content. As shown inFIG. 9c , screen 920 may include a listing of recorded content 922. Thelisting of recorded content may include content shared among the userequipment devices in the home network. As shown in FIG. 9c , the userhas selected a listing for a recording of “Desperate Housewives”. Forthe purposes of illustration and not limitation, the recorded contentshared among the user equipment devices in the home network will bedescribed as being stored on a home network server (e.g., server 702(FIG. 7).

Screen 920 may also include retrieve option 924 and back button 926. Inresponse to the user selecting retrieve option 924, the interactivemedia guidance application may retrieve the recorded content and anyselected associated data and applications in accordance with thedelivery options selected from screen 960 (FIG. 8e ). In response to theuser selecting back button 926, the interactive media guidanceapplication may display the screen from which screen 920 was accessed.

Referring to FIG. 9d , the interactive media guidance application maydisplay screen 930 in response to the user selecting a recorded contentlisting and retrieve button 924 from screen 920 (FIG. 9c ). As shown inFIG. 9d , screen 930 includes a video 932 and panels 934 and 936 forselecting and displaying data and applications associated with“Desperate Housewives”. In accordance with content delivery options 862(FIG. 8e ) for the high-definition user equipment device, video 932 maybe the complete recording of “Desperate Housewives” in high-definitionformat.

In accordance with data delivery options 864 and application deliveryoptions 884 (FIG. 8e ), the interactive media guidance application maydeliver a program summary, season program listings, related articles,title information, shopping and navigation applications associated with“Desperate Housewives” to the high-definition user equipment device. Theuser may select one of the associated data or applications from panel934. The selected associated data or application may be displayed inpanel 936. As shown in FIG. 9d , panel 936 includes a shoppingapplication associated with “Desperate Housewives”. Associatedinteractive applications may be delivered to the high-definition userequipment device using any of the approaches described below inconnection with FIGS. 12a-c . It should be understood by one skilled inthe art that the content and associated data and applications may bedisplayed by the interactive media guidance application implemented onthe high-definition user equipment device in any suitable arrangement.In some embodiments, the recording, associated data, and associatedapplications may be displayed in separate screens.

FIGS. 9e-f show illustrative display screens 940 and 950 of aninteractive media guidance application implemented on astandard-definition user equipment device in a home network forretrieving and displaying recorded content and associated data andapplications in accordance with the present invention.

The interactive media guidance application may display screen 940 inresponse to the user selecting to view recorded content. As shown inFIG. 9e , screen 940 may include a listing of recorded content 942. Thelisting of recorded content may include content shared among the userequipment devices in the home network. As shown in FIG. 9e , the userhas selected a listing for a recording of “Desperate Housewives”. Forthe purposes of illustration and not limitation, the recorded contentshared among the user equipment devices in the home network will bedescribed as being stored on a home network server (e.g., server 702(FIG. 7).

Screen 940 may also include retrieve option 944 and back button 946. Inresponse to the user selecting retrieve option 944, the interactivemedia guidance application may retrieve the recorded content and anyselected associated data and applications in accordance with thedelivery options selected from screen 860 (FIG. 8f ). In response to theuser selecting back button 946, the interactive media guidanceapplication may display the screen from which screen 940 was accessed.

Referring to FIG. 9f , the interactive media guidance application maydisplay screen 950 in response to the user selecting a recorded contentlisting and retrieve button 944 from screen 940 (FIG. 9e ). As shown inFIG. 9f , screen 950 includes a video 952 and associated data andapplications area 954 for selecting and displaying data and applicationsassociated with “Desperate Housewives”. In accordance with contentdelivery options 862 (FIG. 8f ) for the standard-definition userequipment device, video 932 may be the complete recording of “DesperateHousewives” in standard-definition format. If necessary, the homenetwork server may translate one of the recorded formats of “DesperateHousewives” into standard definition and deliver “Desperate Housewives”to the standard-definition user equipment device in the translatedstandard-definition format.

In accordance with data delivery options 864 and application deliveryoptions 884 (FIG. 8e ), the interactive media guidance application maydeliver a program summary, season program listings, related articles,title information, and shopping and navigation applications associatedwith “Desperate Housewives” to the standard-definition user equipmentdevice. As shown in FIG. 9f , the user has selected to display castinformation in a scrolling ticker message. The user may select otherassociated data and applications by scrolling using the arrows inassociated data and applications area 954. Associated interactiveapplications may be delivered to the standard-definition user equipmentdevice using any of the approaches described below in connection withFIGS. 12a-c . It should be understood by one skilled in the art that thecontent and associated data and applications may be displayed by theinteractive media guidance application implemented on thestandard-definition user equipment device in any suitable arrangement.

The user interfaces of the interactive media guidance application asshown in FIGS. 8 and 9, use commonly-used application objects such asbuttons, lists, and checkboxes. It will be understood that these objectsare only illustrative, and other objects can be used by those skilled inthe art without departing from the scope and spirit of the presentinvention.

An interactive media guidance application may allow a user to record aselected television program in formats that are most suitable fordisplay by the user equipment devices in a home network and configurethe interactive media guidance application system to deliver the mostsuitable formats of the selected television program to the userequipment devices in the home network. For example, screen 820 (FIG. 8b) includes an option for allowing the user to select to record anddeliver selected television programs in formats that are most suitablefor display by the user equipment devices in a home network. Screen 860(FIGS. 8d-f ) includes an option for allowing the user to select todeliver the most suitable format of a selected television program to auser equipment device.

FIG. 10a shows an illustrative flow diagram 1000 for allowing userequipment devices in a home network having various capabilities toaccess the most suitable format of content stored on the home network inaccordance with the present invention.

At step 1002, video programming (sometimes referred to as-content) maybe selected for recording. Screens 800 (FIG. 8a ) and 810 (FIG. 8b ) areillustrative screens of an interactive media guidance application forallowing users to select content for recording. It should be understoodby one skilled in the art that the interactive media guidanceapplication may display any suitable screen for allowing the user toselect content for recording. In another example, the interactive mediaguidance application may select a program for recording based on thepreferences or the previous selections of the user.

At step 1004, the interactive media guidance application may record theselected content in the formats suitable for display by the userequipment devices in the home network. For example, screen 820 (FIG. 8b) may allow the user to select an option to record the formats of theselected content suitable to be displayed by the user equipment devicesin the home network. The interactive media guidance application maycompare the requirements of the available formats of the content withthe capabilities of the user equipment devices in the home network.

In some embodiments, the interactive media guidance application maydetermine which formats of the content are available by searchingprogram listings. For example, major television networks and certaincable channels, such as, for example, ABC, CBS, NBC, FOX, and HBO maysimultaneously broadcast television programs in a high-definition format(e.g., 720p) and a standard-definition format (e.g., 480i). In someembodiments, the interactive media guidance application may access awebsite or database to determine which formats of the content areavailable on a server. For example, the server may store the content inthree formats encoded at bit rates of 50 Kbps, 100 Kbps, and 300 Kbps.In another example, the server may store the content in different videoformats (e.g., MPEG-4, Windows Media Video, H.264, and Universal MediaDisc formats).

The interactive media guidance application may determine therequirements of the available formats of the content, which may include,for example, the media type of the format, the resolution of the format,the storage space required by the format, the bit rate used to encodethe format, the audio/video encoding of the format (e.g., DolbyDigital™), and any other suitable requirements.

In some embodiments, if the content has not yet been broadcast, theinteractive media guidance application may determine the requirements ofthe available formats of the content by referring to program listingsinformation corresponding to each of the available formats.

In some embodiments, if the available formats of the content are storedon a server, the requirements of the available formats of the contentmay be encoded in the file headers for the formats. The interactivemedia guidance application may determine the requirements of theavailable formats of the content by analyzing the file headers.

In some embodiments, the server may indicate to the interactive mediaguidance application which formats of the content are scheduled forstorage on the server. For example, the server may store episodes of“Desperate Housewives” the day after the episodes are broadcast ontelevision.

The interactive media guidance application may also determine thecapabilities of the user equipment devices in the home network. In someembodiments, the user equipment devices in the home network may maintaina record of the capabilities of the user equipment devices in the homenetwork. For example, whenever a user equipment devices is added to thehome network, a user may update the record to include the capabilitiesof the added user equipment device. In another example, the added userequipment device may automatically modify the record to indicate itscapabilities.

In some embodiments, some or all of the user equipment devices in thehome network may advertise their capabilities to the interactive mediaguidance application. For example, in response to the user selectingcontent to record, each of the active user equipment devices in the homenetwork may send their capabilities to the user equipment device onwhich the interactive media guidance application is implemented. Thecapabilities may be encoded in a digital string, in which one or morebits may be used to indicate one or more capabilities. For example, thebandwidth of user equipment devices may be encoded in the five mostsignificant bits of the string.

In some embodiments, the interactive media guidance application may pollthe user equipment devices in the home network to determine theircapabilities. For example, the interactive media guidance applicationmay request that each user equipment device send an access request tothe user equipment device on which the interactive media guidanceapplication is implemented. The access request may contain a listing ofthe capabilities of the user equipment device.

The interactive media guidance application may compare the requirementsof the formats of the content with the capabilities of each of the userequipment devices in the home network. The interactive media guidanceapplication may record the format of content that is most suitable to bedisplayed by each of the user equipment devices. For example, theinteractive media guidance application may record the content in ahigh-definition format if one of the user equipment devices ishigh-definition capable. In this example, the interactive media guidanceapplication may also record the content in a standard-definition formatif one of the user equipment devices in the home network cannot displaythe content in the high-definition format. In another example, theinteractive media guidance application may store streaming contentencoded at a bit rate of 300 Kbps if the bandwidth of one of the userequipment devices is 350 Kbps. In another example, the interactive mediaguidance application may download content in Universal Media Disc (UMD)format if one of the user equipment devices is configured to play UMDfiles.

The content may be stored in all of the suitable formats on any serveraccessible by the user equipment devices in the home network or on anyof the user equipment devices in the home network. In some embodiments,the interactive media guidance application may store the suitableformats of the content on a network server (e.g., server 130 or 140(FIG. 1)). In some embodiments, the interactive media guidanceapplication may allow the user to select the server or user equipmentdevice on which to record each of the suitable formats of the selectedcontent. In some embodiments, the interactive media guidance applicationmay record the suitable formats of the selected content on the userequipment device on which the interactive media guidance application isimplemented. In some embodiments, the interactive media guidanceapplication may identify the servers and the user equipment devices onthe home network capable of recording the suitable formats of theselected content and select one or more of the identified servers anduser equipment devices to record the suitable formats of the content.For example, the interactive media guidance application may select aserver or user equipment device if it has sufficient resources to recordany of the suitable formats of the selected content.

In some embodiments, the interactive media guidance application mayrecord formats of the content on the user equipment devices on which theformats were intended to be displayed. For example, the interactivemedia guidance application may record the high-definition format ofcontent on a high-definition capable user equipment device and thestandard-definition format of the content on a standard-definition userequipment device.

The interactive media guidance application may create associationsbetween the user equipment devices and the recorded formats mostsuitable to be displayed by the user equipment devices. Because theformats of the content may be stored on different servers and userequipment devices, associating user equipment devices and formats of thecontent may facilitate the user equipment devices in accessing therecorded format that they are most suited to display.

At step 1006, the interactive media guidance applications implemented ona user equipment device in the home network may identify a format of therecorded content that the user equipment device is capable of displayingbased on the capabilities of the user equipment device. The interactivemedia guidance application may refer to the association between userequipment devices and formats of content and provide a link to theformat of the listed content that is the most suitable for the userequipment device on which it is implemented to display.

The interactive media guidance application may allow the user to selecta listing corresponding to the recorded content and at step 1008, theserver or user equipment device on which the identified format of therecorded content is stored may receive a request from the user equipmentdevice to play back the recorded content. For example, screens 900 (FIG.9a ), 920 (FIG. 9c ), and 940 (FIG. 9e ) allow the user to selectcontent for play back using interactive media guidance applicationsimplemented on a cellular phone, a high-definition user equipmentdevice, and a standard-definition user equipment device, respectively.

At step 1009, the server or user equipment device on which theidentified format of the recorded content is stored may deliver theidentified format of the recorded content to the user equipment device.As stated above, the identified format of the recorded content is theformat of the content that is most suitable to be displayed by the userequipment device. For example, an interactive media guidance applicationassociated with a standard-definition user equipment device may accessthe selected content in a standard-definition format. In anotherexample, an interactive media guidance application implemented on a userequipment device having a bandwidth of 5 Mbps may access the selectedcontent encoded at a bit rate of 4 Mbps. In another example, aninteractive media guidance application implemented on a user equipmentdevice that is configured to display MPEG-4 files may receive thecontent in a MPEG-4 format.

It should be understood by one skilled in the art that interactive mediaguidance applications may also record the content in formats that aresuitable for display by peripheral devices connected to user equipmentdevices in the home network without departing from the scope of thepresent invention. The user equipment devices may transfer the suitableformats of the content to the peripheral devices to which they areconnected.

As described above in connection with FIGS. 8d-f , the user mayconfigure content delivery options for a user equipment device in thehome network to provide the user equipment device with the most suitableformat of the content. However, the most suitable format of the contentmay not be available or it may not have been selected for recording.

FIG. 10b shows an illustrative flow diagram 1010 for translating contentinto formats suitable to be displayed by user equipment devices inaccordance with the present invention. The process set forth in flowdiagram 1010 may be followed as an alternative to the process set forthin flow diagram 1000. For example, a user may select to record contentthat is not available to be recorded in formats suitable for display byeach of the user equipment devices and peripheral devices in the homenetwork. In another example, a user may not wish to store content inmultiple formats because it requires an excessive amount of storagespace.

At step 1012, video programming (sometimes referred to as content) maybe selected for recording. Screens 800 (FIG. 8a ) and 810 (FIG. 8b ) areillustrative screens of an interactive media guidance application forallowing users to select content for recording. It should be understoodby one skilled in the art that the interactive media guidanceapplication may display any suitable screen for allowing the user toselect content for recording. In another example, the interactive mediaguidance application may select a program for recording based on thepreferences or the previous selections of the user.

The content may be recorded on any server accessible by the userequipment devices in the home network or on any user equipment device inthe home network. In some embodiments, the interactive media guidanceapplication may record the selected content on the user equipment deviceon which the interactive media guidance application is implemented. Insome embodiments, the interactive media guidance application mayidentify the servers and user equipment devices capable of recording theselected content. The interactive media guidance application may selectto record the content on one of the servers or user equipment devices ifthe server or user equipment device has sufficient resources to recordthe content. In some embodiments, the interactive media guidanceapplication may allow the user to select a server or user equipmentdevice on which to store the selected content.

For the purpose of illustration and not limitation, the content will bedescribed herein as being stored on a network server (e.g., server 130or 140 (FIG. 1)).

In some embodiments, the interactive media guidance application mayrecord the content in the highest quality format available. For example,if the user selects to record a standard-definition television program,the interactive media guidance application may search the programlistings to determine if the selected television program may be recordedin high definition. In another example, if the user selects to retrievea selected television program from a server in H.264 format, theinteractive media guidance application may determine if the selectedtelevision program may be recorded in high-definition orstandard-definition.

At step 1014, the network server may receive a request from the userequipment device on which the interactive media guidance application isimplemented to play back the recorded content. For example, screens 900(FIG. 9a ), 920 (FIG. 9c ), and 940 (FIG. 9e ) allow the user to accesscontent using interactive media guidance applications implemented on acellular phone, a high-definition user equipment device, and astandard-definition user equipment device, respectively.

At step 1016, the network server on which the recorded content is storedmay identify a format of the recorded content that is suitable fordisplay by the user equipment device that is requesting access to thecontent. The network server may determine the capabilities of the userequipment device that is accessing the recorded content. As describedabove, the user equipment devices may advertise their capabilities tothe network server or the network server may poll the user equipmentdevices to determine their capabilities. The network server may identifya format of the recorded content that may be displayed by the userequipment device based on the capabilities of the user equipment device.For example, if the user equipment device is a standard-definition userequipment device, the format identified by the network server may be astandard-definition format.

In some embodiments, the network server may allow a user to identify aformat of the recorded content that may be displayed by the userequipment device. For example, as shown in FIGS. 8d-f , the interactivemedia guidance application may allow the user to specify the formats ofthe selected program to be delivered to each of the user equipmentdevices in the home network.

At step 1018, the network server may translate the recorded content intothe format identified as suitable for display by the user equipmentdevice. If the user equipment device is capable of displaying thecontent in its native format, the network server may provide the userequipment device with access to the content without translating thecontent.

The network server may contain any suitable combination of circuitry andsoftware for translating the recorded content into different formats.For example, the network server may include a scaler for upconvertingand downconverting the content into different resolutions. In anotherexample, the network server may have the ability to transcode thecontent into different audio and video formats. In another example, thenetwork server may have interlacing and deinterlacing capabilities forconverting content from an interlaced format to a progressive format(and vice versa). In another example, the network server may be abledecode streaming content and re-encode the streaming content at a higheror lower bit rate.

The network server may determine how to translate the content into aformat that may be displayed by the user equipment device. For example,if the content is a recording of a high-definition program and the userequipment device is standard-definition user equipment, the networkserver may determine the best way to convert the high-definition programinto a format suitable for display by the standard-definition userequipment.

In particular, the network server may determine if the user equipmentdevice is capable of playing the media format of the content. If not,the network server may convert the media format of the content into onethat may be displayed by the user equipment device. The network servermay determine if the user equipment device is capable of displaying theresolution of the content. If the user equipment device has a differentnative resolution than the resolution of the content and the userequipment device does not include a suitable scaler for converting theresolution of the content, the network server may upconvert ordownconvert the resolution of the content into a resolution that may bedisplayed by the user equipment device. The network server may determinewhether the user equipment device has sufficient bandwidth to displaythe content. If not, and if the content is intended to be streamed, thenetwork server may decrease the bit rate at which the content isencoded. If not, and if the content is intended to be downloaded andplayed locally, the network server may reduce the storage space requiredby the content (e.g., by compressing the content, decreasing theresolution of the content, etc.).

At step 1019, the network server may deliver the recorded content in theidentified format to the user equipment device. The network server maystream or transfer the translation of the recorded content to the userequipment device.

It should be understood by one skilled in the art that content stored ona home network may also be translated into formats suitable for displayby peripheral devices without departing from the scope of the presentinvention. The network server may determine the capabilities of theperipheral devices and translate the content to formats that may bedisplayed by the peripheral devices. In some embodiments, the userequipment devices to which the peripheral devices are connected maytransfer the translated content to the peripheral devices.

FIG. 10c shows an illustrative system diagram 1020 for translating anddelivering content to user equipment devices in a home network. Diagram1020 may include a home network server 1022, a cellular phone 1024,high-definition user equipment device 1026, and standard-definition userequipment device 1028. As discussed above, the home network server maytranslate recorded content into formats suitable for display by the userequipment devices in the home network.

Home network server 1022 may include software and hardware fortranslating recorded content stored on storage unit 1030, such as, forexample, media transcoders, scalers, interlacers, deinterlacers and anyother suitable software and hardware for translating recorded content.For the purposes of illustration and not limitation, the recordedcontent stored on storage unit 1030 is a high-definition recording of“Desperate Housewives” in MPEG-4 format.

As shown in FIG. 10c , home network server 1022 may process therecording of “Desperate Housewives” for cellular phone 1024 bytranscoding the recording into H.264 format using converter 1032 andscaling the resolution of the recording of “Desperate Housewives” into aresolution that is supported by cellular phone 1024 using scaler 1034.

Home network server 1022 may deliver the recording of “DesperateHousewives” from storage unit 1030 to high-definition user equipmentdevice 1026 without performing any translation because high-definitionuser equipment device 1026 is configured to display the recording of“Desperate Housewives”.

Home network server 1022 may process the recording of “DesperateHousewives” by deinterlacing the recording using deinterlacer 1036(e.g., to convert 720p content to 720i) and scaling the recording tostandard definition (e.g., 480i) using scaler 1028.

It should be understood by one skilled in the art that the components ofhome network server 1022 are merely illustrative and that any componentsand approaches may be used to translate content into formats suitablefor display by user equipment devices in a home network.

FIG. 10d shows an illustrative data structure 1040 for storing thecapabilities of a user equipment devices in a home network.

Instances of data structure 1040 may be created for each user equipmentdevice in the home network. The instances of data structure 1040 may bestored on a network server (e.g., server 130 or 140 (FIG. 1)), a homenetwork server (e.g., server 902 (FIG. 9)), or on one of the userequipment devices in the home network.

Data structure 1040 may include a plurality of fields that correspond todifferent types of capabilities for a user equipment device, such as,for example, native resolution of the user equipment device, applicationtypes that may be executed by the user equipment device, media typesthat may be received by the user equipment device, the character setsand languages that may be displayed by the user equipment device, andthe bandwidth of the user equipment device.

As shown in FIG. 10d , data structure 1040 includes field 1042 forstoring the vertical and horizontal resolution of the user equipmentdevice, field 1044 for storing the media types supported by the userequipment device, field 1046 for storing the bandwidth of the userequipment device, and field 1048 for storing the application typessupported by the user equipment device.

The fields for the instances of data structure 1040 may by populated inresponse to determining the capabilities of the user equipment devices.For example, a server may poll user equipment devices for theircapabilities. In another example, the capabilities of the user equipmentdevices may be included in the headers of access requests transmitted bythe user equipment devices. A server on which content is stored mayrefer to the instances of data structure 1040 to determine the formatsin which to deliver content to user equipment devices.

FIG. 10e shows an illustrative flow diagram 1050 for distributing videoprogramming to two user equipment devices based on the viewingpreferences for the user equipment devices.

At steps 1052 and 1054, viewing preferences may be specified for firstand second devices that may access the video programming through anetwork. The first and second devices may be any suitable user equipmentdevices, such as, for example, a high-definition user equipment device,computer, cellular phone, and standard-definition user equipment device.

The viewing preferences may include selections of display formats inwhich to display the video programming. Display formats may include, forexample, formats having different resolutions (e.g., high definition,standard definition, low resolution, etc.), different media formats(e.g., MPEG, H.264, etc.), streaming media encoded at different bitrates, and any other suitable display formats. The selection of displayformats is discussed in greater detail above in connection with FIGS.8d-f and 10a -d.

Viewing preferences may include more than the preferred display formatof the video programming. In some cases, video programming may beavailable in alternative versions. For example, an alternative versionof the video programming may be a condensed version (e.g., summary,highlights, text, audio, etc.) or an extended version that includesextra material than the original version (e.g., interview, commentary,outtakes, etc.). Accordingly, specifying the viewing preferences foreither the first or second device may also include specifying that analternate version of the video programming should be provided to thedevice. Selecting and generating alternate versions of video programmingis discussed in greater detail above in connection with FIGS. 8d-f andbelow in connection with FIGS. 11a -c.

In some embodiments, the viewing preferences may be selected based onthe capabilities of the first and second devices. The server on whichthe video programming is stored may determine the capabilities of thefirst and second devices to specify the viewing preferences of the firstand second devices. This approach is described in greater detail abovein connection with FIGS. 10a-b and 11a . For example, a high-definitionuser equipment device may have different capabilities than a cellularphone. As a result, the server may generate different viewingpreferences for the first and second devices.

In some embodiments, the viewing preferences may be selected by one ormore users. For example, as shown in FIGS. 8d-f , a user may selectviewing preferences for “Desperate Housewives” for several userequipment devices in a home network. The users may use interactive mediaguidance applications to select the viewing preferences.

At steps 1056 and 1058, a first version of the video programming may bedelivered to the first device and a second version of the videoprogramming may be delivered to the second device. The versions of thevideo programming that are delivered to the devices are based on theviewing preferences specified for the devices.

In some embodiments, the first and second versions of the videoprogramming may be recorded and the recordings of the first and secondversions may be delivered to the first and second devices. For example,the first and second versions of the video programming may be recordedon a network server (e.g., server 130 or 140 (FIG. 1)), home networkserver (e.g., server 702 (FIG. 7)), or user equipment device. Recordingthe versions of video programming suitable for display be user equipmentdevices is discussed above in greater detail in connection with FIG. 10a.

In some embodiments, one of the formats of the video programming may berecorded and a search may be conducted at a later time for the otherformat of the video programming. For example, as described above inconnection with FIG. 8b , some of the formats of the video programmingmay be available after another one of the formats has been broadcast. Insome embodiments, the service provider may require the user to pay a feeto retrieve or record the formats of the video programming that areavailable at a later time.

In some embodiments, one or both of the versions of the videoprogramming may be generated by a server. In particular, the server oruser equipment device on which the video programming is stored maytranslate the video programming into a format that the devices maydisplay based on the capabilities of the devices. This approach isdiscussed in greater detail in connection with FIG. 10 b.

In some embodiments, the first or second version of the videoprogramming may be an alternate version of the video programming, suchas, a condensed version or an extended version. In some embodiments, thealternate version of the video programming may be generated by a serverand delivered to the appropriate device. In some embodiments, the devicemay retrieve the alternate version of the video programming from aserver. In some embodiments, a server may retrieve the alternate versionof the video programming and translate the alternate version of thevideo programming into a display format that is appropriate for thedevice.

The first and second versions of the video programming may be deliveredto the first and second devices in response to a user selecting toplayback the first and second versions of the video programming using,for example, and interactive media guidance application. In someembodiments, the first and second versions of the video programming mayautomatically be delivered to the first and second user equipmentdevices based on the viewing preferences. For example, as shown inscreens 910 (FIG. 9b ), 930 (FIG. 9d ), and 950 (FIG. 9f ), a recordingof “Desperate Housewives” may be delivered to user equipment devices indifferent versions based on the viewing preferences of the userequipment devices.

As shown in FIGS. 8d-f , content delivery options may also include anoption to deliver an alternate version of the content (e.g., a condensedor extended version of the content) to any one or more of the userequipment devices in the home network. For example, the user may selectto deliver a video summary of a recording to a cellular phone.

FIG. 11a shows an illustrative flow diagram 1100 for condensing recordedcontent for user equipment devices in accordance with the presentinvention. In some embodiments, the user may select to deliver acondensed version of the content to the user equipment device. In someembodiments, the interactive media guidance application may determinethat a condensed version of the content should be delivered to the userequipment device based on the bandwidth of the user equipment device.

At step 1102, a user equipment device located in a home network mayaccess content stored on the home network. Content stored on the homenetwork may include content recorded from any of the user equipmentdevices in the home network and may be stored on a network server, homeserver, or user equipment device. Such content may include, for example,recorded television programs, downloaded video-on-demand content,video/audio content decoded from optical media, video/audio contentuploaded from peripheral devices, and any other suitable content.

At step 1104, the server or user equipment device on which the contentis stored may determine the bandwidth capabilities of the user equipmentdevice that is accessing the content. For the purposes of illustrationand not limitation, the content will be discussed herein as being storedon a network server (e.g., server 130 or 140 (FIG. 1)). If the bandwidthcapability of the user equipment device is not already known (e.g.,stored in a data file on the network server), the network server maytest the bandwidth capability of the user equipment device that isaccessing the content. For example, the network server may send a seriesof test packets to the user equipment device that is accessing thecontent. The network server may measure the amount of time it takes theuser equipment device that is accessing the content to receive the testpackets. The network server may then calculate the bandwidth of the userequipment device that is accessing the content. It should be understoodthat other techniques to determine the bandwidth of a user equipmentdevice may be utilized without departing from the scope of the presentinvention.

At step 1106, the network server may provide a condensed version of thecontent to the user equipment device that is accessing the content basedon the determination of the bandwidth capability of the user equipmentdevice. For the purposes of illustration and not limitation, it will beassumed that the display capabilities of user equipment devices in ahome network are identical.

Unlike the approach illustrated in FIG. 10b , this approach does notinvolve adjusting the resolution, bit rate, or format of the content.Instead, the content may be condensed (e.g., extracting information fromthe content, splitting and joining segments of the content, etc.), whichwill be discussed in greater detail below.

If the bandwidth of the user equipment is large enough to download thecontent in a reasonable amount of time, then the network server mayprovide the content to the user equipment device without condensing thecontent. If the bandwidth of the user equipment device is not largeenough to download the content in a reasonable amount of time, thenetwork server may determine the extent to which the content should becondensed. For example, a cellular phone may lack the bandwidth todownload standard or high-definition content of any length.

In some embodiments, the network server may define a size limit forcontent to be transferred to the user equipment device based on thebandwidth capabilities of the user equipment device. Defining the sizelimit for content to be transferred to the user equipment device ensuresthat the user equipment device is able to download content in areasonable amount of time, which promotes network efficiency. In someembodiments, the size limit may vary depending on the current load forthe network server (i.e., the size limit of the content may be reducedif the network server is experiencing a high load). The network servermay condense the content such that the size of the content is reduced tobelow the size limit permitted for the user equipment device.

In some embodiments, the network server may allow the user at the userequipment to specify the amount of time in which the content should betransmitted to the user equipment device. For example, the user mayindicate that they only wish to wait a certain amount of time todownload content. The network server may condense the content such thatthe user equipment device may receive the content within the timespecified by the user.

The network server may condense the content using any of severaltechniques. One technique involves splitting the content into segmentsand joining one or more of the segments to form a condensed version ofthe content. For example, if the network server determines that thecontent should be condensed by 25%, the network server may split thecontent into segments and select to join a subset of segments to form acondensed version of the content that is 75% of the size of the originalcontent.

The network server may determine the locations at which to split thecontent based on external data such as, for example, closed-captioningdata, audience information, embedded metadata, and any other suitableexternal data. For example, closed-captioning data may provide thenetwork server with information regarding the dialog of the program. Ifthere is a portion of the content with little or no dialog, the networkserver may split the content before and after that portion and join thesegments before and after the segment that lacks dialog. In someembodiments, in accordance with the parental control settings of theuser equipment device that is accessing the content and/or in order tocondense the content, the network server may identify and removesegments of the content that contain foul language, sexual dialog, andany other offensive material.

Audience information may indicate the portions of the content that wereinteresting to audiences. For example, if the audience levels fall at acertain point during the content and rise shortly thereafter, thenetwork server may remove the portion of the content that was unpopularwith the audience by splitting the content into segments (e.g., at thelocations where the audience levels fell and where the audience levelsrose) and not joining the segment with low audience levels with theremaining segments. Audience information is discussed in greater detailin U.S. patent application Ser. No. 09/823,705, filed Mar. 30, 2001,which is hereby incorporated by reference herein in its entirety.

Metadata may also indicate locations of the content where it would besuitable to split the content into segments. For example, the metadatamay have been transmitted with the content in the vertical blankinginterval for the express purpose of indicating locations at which tosplit the content. The network server may use any of the techniquesdescribed herein to determine the segments of greatest interest and jointhose segments together to form a condensed version of the content.Metadata may also provide information relating to the content such as,for example, the current score if the content is a sporting event. Inthis example, the network server may split the content based on changesin the score (e.g., join segments together that each span thirty secondsbefore and after the change of the score). Using metadata to carryreal-time information is discussed in greater detail in Knee et al. U.S.Pat. No. 6,014,184, which is hereby incorporated by reference herein inits entirety.

In addition, the network server may also traverse the content to detectcues that may indicate a location at which to split the content. Cuesmay include, for example, commercial breaks, audio cues, scene changes,and any other suitable cues. Commercial breaks may be detected andspliced out to condense the content. Audio cues may be used to determineinteresting portions of the program. For example, in sporting events,the volume tends to be the greatest when a play of importance occurs(e.g., the audience cheers or boos). Another type of audio cue is thechange of background music. Such changes in music typically indicate theend of a scene or the occurrence of a dramatic event. Scene changes mayindicate a suitable location at which to split the content. The networkserver may also detect scene changes, for example, by determiningdifferences in color levels between frames.

In some embodiments, the content may be split into main segments. Eachmain segment may be condensed and afterwards the condensed main segmentsmay be rejoined. Any of the approaches discussed herein may be appliedto condense the main segments of the content.

In some embodiments, the content may include collateral content, suchas, for example, interviews, behind-the-scenes specials, bonusmaterials, etc. In order to condense the content for the user equipmentdevice, the network server may take off the collateral content. This maybe performed in lieu of or in addition to any of the approaches tocondensing the content discussed herein.

The network server may also provide audio or text versions of thecontent to the user equipment device. For example, if the user equipmentdevice does not have enough bandwidth to receive the content, thenetwork server may separate the audio portion of the content and providethe user equipment device with the audio portion of the content. Inanother example, if the user equipment device does not have enoughbandwidth to receive the content, the network server may create a textof the content based on closed-captioning data. The audio or textversions of the content may be further condensed by splitting andjoining segments of the audio or text versions of the content using anyof the approaches described above. For example, the network server maycondense the closed-captioning data for the content into a summary ofthe content, which may be provided to a cellular phone. Alternatively,the network server may first condense the content using any of theapproaches discussed above and convert the condensed version of thecontent into audio or text versions.

It should be understood by one skilled in the art that the condensedversion of the content may be formatted using the approaches shown inand described in connection with FIG. 10b to provide a formatted andcondensed version of the content to the user equipment device. Forexample, the content may be condensed further by reducing the bit rateat which the content is encoded or reducing the resolution of thecontent. In another example, the network server may transcode thecondensed version of the content into a format that may be played by theuser equipment device.

FIGS. 11b-c show two illustrative approaches 1110 and 1120 forcondensing recorded content in accordance with the present invention. Asshown in FIG. 11b , recorded content 1112 may be split into severalsegments. A condensed version 1114 of the recorded content may becreated by joining a subset of the segments. As shown in FIG. 11c ,recorded content 1122 may be split into several segments. Each segmentmay be condensed using any suitable approach and a condensed version ofthe recorded content 1124 may be created by joining the condensedsegments. The locations at which the content is split may be selectedbased on any suitable external data (e.g., closed-captioninginformation, audience information, metadata) or by detecting anysuitable cues (e.g., audio cues, scene changes, commercial breaks). Insome embodiments, condensed versions of the recorded content may beconverted into audio or text versions. The conversion into text or audiomay occur before or after the content is split into segments.

As described above in connection with FIGS. 8d-f , applicationsassociated with recorded television programs may also be distributed touser equipment devices in the home network. Due to different softwareand display capabilities, user equipment devices in a home network maynot be able to run certain types of interactive applications. Forexample, an interactive application that is run on a personal computermay not be run on a cellular phone. Furthermore, even if the interactiveapplication could be run on both the personal computer and the cellularphone, the interactive application may not be displayed in a formatsuitable for the cellular phone. In some cases, even among personalcomputers, hardware differences may prevent an interactive applicationfrom being run on different computers. In another example, aninteractive application that is implemented as an HTML webpage may bedisplayed by a computer, but not a cellular phone. FIGS. 12a-c showdifferent approaches for distributing interactive applications to userequipment devices in the home network.

Interactive applications may be written in any suitable programminglanguage including standard programming languages (e.g., ANSI C, Pascal,etc.), object oriented programming languages (e.g., C++, Java, etc.),web-based programming languages (e.g., hyper-text markup language(HTML), extensible markup language (XML), wireless markup language(WML), Javascript, PERL), and any other suitable programming languages.

Interactive applications may be stored on any suitable location in anetwork including, for example, a network server (e.g., server 130 or140 (FIG. 1)), a home server (e.g., server 702 (FIG. 7)), or any userequipment devices or peripheral devices in users' homes. For the purposeof illustration and not limitation, interactive applications will bediscussed as being stored on network servers. One skilled in the artshould understand that interactive applications may be stored at anylocation on a network without departing from the scope of the presentinvention.

For the purposes of illustration and not limitation, interactiveapplications will be discussed as being accessed by user equipmentdevices. One skilled in the art should understand that interactiveapplications may also be accessed by peripheral devices connected touser equipment devices. The user equipment devices to which theperipheral devices are connected may provide the peripheral devices withaccess to the interactive applications.

FIG. 12a shows an illustrative flow diagram 1200 for distributingdifferent versions of interactive applications to user equipment devicesin accordance with the present invention.

At step 1202, different versions of interactive applications may bestored on a network. In some embodiments, all available versions of theinteractive applications may be stored on the network. For example, if asoftware developer produces five versions of an interactive applicationthat may be run on different types of user equipment devices, all fiveversions of the interactive application may be stored on the network. Insome embodiments, the versions of the interactive application that aremost suitable for operating on the user equipment devices in the user'shome may be stored on the network. For example, if the user equipmentdevices in a user's home include a personal computer and a set-top box,the versions of interactive applications suitable for operating on thepersonal computer and the set-top box may be stored on the network.

At step 1204, one of the user equipment devices in the user's home mayaccess the version of the interactive application that is best suited torun on the user equipment device. For example, the interactiveapplication may be associated with a television program and the user mayhave selected to deliver a recording of the television program to theuser equipment device along with the associated interactive application.

The network server on which the interactive application is stored mayidentify the most suitable version of the interactive application forthe user equipment device. In some embodiments, a request to access theinteractive application sent by the user equipment device to the networkserver may include a header that identifies the user equipment deviceand advertises the capabilities of the user equipment device. Forexample, the capabilities may include the native resolution of the userequipment device, application types that may be executed by the userequipment device, media types that may be received by the user equipmentdevice, the character sets and languages that may be displayed by theuser equipment device, and the bandwidth of the user equipment device.In some embodiments, the network server may poll the user equipmentdevice to determine its capabilities.

The network server may compare the capabilities of the user equipmentdevice with the requirements of the different versions of theinteractive application to determine which version of the interactiveapplication is most suitable to be run by the user equipment device. Forexample, if the interactive application is programmed in HTML, thenetwork server may determine if the user equipment device is configuredto display HTML. In another example, if the interactive applicationproduces an output screen having 640×480 pixels, the network server maydetermine if the user equipment devices has a native resolution of atleast 640×480.

In some embodiments, the interactive application may be retrieved andexecuted by the user equipment device. In some embodiments, theinteractive application may be executed on the network server and thenetwork server may transfer an application-specific display screen tothe user equipment device.

FIG. 12b shows an illustrative flow diagram 1210 for modifyinginteractive applications for use by different user equipment devices inaccordance with the present invention.

At step 1212, the network server may allow a user equipment device toaccess an interactive application stored on the network server. Forexample, the interactive application may be associated with a televisionprogram and the user may have selected to deliver a recording of thetelevision program to the user equipment device along with theassociated interactive application.

At step 1214, the interactive application may be modified by the networkserver for display by the user equipment device. The network server onwhich the interactive application is stored may identify and determinethe capabilities of the user equipment device. In some embodiments, therequest to access the interactive application sent by the user equipmentdevice to the network server may include a header that identifies theuser equipment device and advertises the capabilities of the userequipment device. For example, the capabilities may include the nativeresolution of the user equipment device, application types that may beexecuted by the user equipment device, media types that may be receivedby the user equipment device, the character sets and languages that maybe displayed by the user equipment device, and the bandwidth of the userequipment device. In some embodiments, the network server may poll theuser equipment device to determine its capabilities.

If the user equipment device has the capability to display and operatethe interactive application without any modifications, the networkserver may transmit the interactive application in an unaltered state tothe user equipment device. However, if the user equipment device islimited in its ability to display or execute the interactiveapplication, the network server may modify the interactive applicationto allow the user equipment device to display and execute theinteractive application.

In some embodiments, the interactive application may be written in amarkup language, such as, for example, XML. The markup language maydefine the substance of the interactive application. The formattingaspects of the interactive application may be defined in one or morestyle sheets. The network server may apply a selected style sheet to theinteractive application to transform the interactive application to aformat suitable for display on the user equipment device.

The style sheet may be selected based on a comparison of thecapabilities of the user equipment device and the requirements of thestyle sheet. For example, if the user equipment device is onlyconfigured to display the interactive application in a wireless markuplanguage (WML) format, the network server may select a style sheet forconverting the interactive application into WML. If the user equipmentdevice is a set-top box, the network server may select a style sheet forconverting the interactive application into a format that the set-topbox is able to display. If the user equipment device is a personalcomputer, the network server may select a style sheet for converting theinteractive application into an HTML format. If the user equipmentdevice is only configured to display Chinese characters, the style sheetmay cause the interactive application to be displayed in Chinese. Insome embodiments, the network server may provide the suitable stylesheet to the user equipment device, which performs the transformation ofthe interactive application into a suitable format.

In some embodiments, the network server may generate custom style sheetsbased on the capabilities of the user equipment device. In someembodiments, the network server may create hybrid style sheets bycombining existing style sheets. If two existing style sheets containconflicting tags, the network server may allow one style sheet tooverride tags from other style sheets. For example, if the userequipment device is not well suited to display any of the formatsdefined by the style sheets, the network server may generate and/ormodify existing style sheets to suit the user equipment device.

In some embodiments, the network server may process video, graphics, andaudio to create reduced-size versions of the video, graphics, and audio.The network server may cause, for example, a WML transformation stylesheet to display the reduced-size versions of the graphics and audio inthe WML-version of the interactive application.

In some embodiments, the interactive application may be written in anobject-oriented language (e.g., C++). The network server may store aplurality of objects, each of which is configured to optimize thedisplay of the interactive application for a user equipment device. Forexample, the object corresponding to a handheld video player may includesubroutines for displaying the interactive application in a format thatis suitable for the handheld video player. The network server may modifythe source code for the interactive application to call the objectcorresponding to the user equipment device that is accessing theinteractive application. The network server may recompile the modifiedinteractive application.

In some embodiments, the interactive application may be written in anon-object-oriented language (e.g., ANSI C). The interactive applicationmay contain a plurality of methods, each of which is configured tooptimize the display of the interactive application for one of the userequipment devices. The network server may modify the interactiveapplication to call the method corresponding to the user equipmentdevice. The network server may recompile the modified interactiveapplication.

At step 1216, the network server may provide the modified interactiveapplication to the user equipment device. For example, the modifiedinteractive application may be associated with a television program andthe user may have selected to deliver a recording of the televisionprogram to the user equipment device along with the modified interactiveapplication.

FIG. 12c shows an illustrative flow diagram 1220 for allowing a userequipment device to access an adaptive interactive applicationimplemented in a platform-independent language in accordance with thepresent invention.

At step 1222, an adaptive interactive application implemented in aplatform-independent programming language may be stored on a network.The interactive application may be implemented in any suitableplatform-independent language, such as, for example, Java. In thisapproach, the interactive application may be run on any user equipmentdevice, as long as the user equipment device includes an interpreterthat converts the platform-independent language to machine instructionsfor the user equipment device.

At step 1224, one of the user equipment devices in the network mayaccess the interactive application. For example, the interactiveapplication may be associated with a television program and the user mayhave selected to deliver a recording of the television program to theuser equipment device along with the associated interactive application.

The interactive application may be programmed to identify the userequipment device on which it is being run and to determine thecapabilities of the user equipment device. In some embodiments, theinteractive application may analyze the system configuration of the userequipment device. In some embodiments, the interactive application maycause the user equipment device to send a request to a server (e.g., anHTTP request) and capture the header information that identifies theuser equipment device and its capabilities. Capabilities of the userequipment device may include, for example the native resolution of theuser equipment device, application types that may be executed by theuser equipment device, media types that may be received by the userequipment device, the character sets and languages that may be displayedby the user equipment device, and the bandwidth of the user equipmentdevice.

The interactive application may adjust its display format to best suitthe capabilities of the user equipment device. The interactiveapplication may execute subroutines configured to optimize the displayof the interactive application based on the capabilities of the userequipment device. In some embodiments, the interactive application mayselect one of several modes in which to operate. The modes may havedifferent requirements and the interactive application may select themode that best suits the capabilities of the user equipment device. Forexample, the interactive application may be run in a first mode offeringa high-resolution, high-bandwidth format or a second mode offering alow-resolution, low-bandwidth format. In this example, the interactiveapplication may be run in the first mode on a high-definition userequipment device and in the second mode on a cellular phone.

FIG. 12d shows an illustrative flow diagram 1230 for delivering videoprogramming and associated interactive applications to user equipmentdevices in a home network.

At step 1232, a user may access video programming using an interactivemedia guidance application implemented on a user equipment device in thehome network. Access to the video programming may be provided by aserver or user equipment device on which the video programming isstored. In some embodiments, the video programming may be provided as aresult of the user having selected to record the video programming. Forexample, as shown in FIG. 8a , the user may select to record an episodeof “Desperate Housewives” on a server for retrieval at a later time. Insome embodiments, a service provider may provide access to the videoprogramming. For example, a service provider may allow the user to viewan episode of “Desperate Housewives” stored on an on-demand server.

The video programming may have one or more associated interactiveapplications. For example, the associated interactive applications mayinclude a content navigation application and a commerce application(e.g., a shopping application) relating to the recorded content. Theassociated interactive applications may be stored on any suitablenetwork server (e.g., server 130 or 140 (FIG. 1)) or home server (e.g.,server 702 (FIG. 7).

At step 1234, the server or user equipment device on which the videoprogramming is stored may receive a request from a user equipment devicein the home network to play the video programming. For example, as shownin FIGS. 9a, 9c, and 9e , the user may use an interactive media guidanceapplication to request access to the video programming.

At step 1236, a version of the interactive application that isappropriate for the user equipment device may be identified. In someembodiments, the server or user equipment device on which the videoprogramming is stored may identify the appropriate version of theassociated interactive application. In some embodiments, the server oruser equipment device on which the associated interactive application isstored may identify the appropriate version of the interactiveapplication. In some embodiments, the interactive media guidanceapplication from which the user requests the video programming mayidentify the appropriate version of the associated interactiveapplication. For the purposes of illustration and not limitation, itwill be assumed that the server or user equipment devices on which thevideo programming is stored will identify the appropriate version of theassociated interactive application for the user equipment device.

In some embodiments, if the interactive application is stored on aserver in multiple versions (as described above in connection with FIG.12a ), the server or user equipment device on which the videoprogramming is stored may identify one of the versions of theinteractive application as the appropriate version of the interactiveapplication for the user equipment device.

In some embodiments, if the interactive application may be modified (asdescribed above in connection with FIG. 12b ), the server on which theinteractive application is stored may create a modified version of theinteractive application that is appropriate for the user equipmentdevice. The server or user equipment device on which the videoprogramming is stored may identify the modified version of theinteractive application as the appropriate version for the userequipment device.

In some embodiments, the interactive application may be implemented in aplatform-independent language that is configured to adapt to the displaycapabilities of the user equipment device (as described above inconnection with FIG. 12c ). The server on which the video programming isstored may identify the interactive application as being the appropriateversion for the user equipment device.

Alternatively, at step 1236, the user may identify a version of theinteractive application that is appropriate for the user equipmentdevice. For example, the interactive media guidance applicationimplemented on the user equipment device may display a screen thatincludes a listing of the versions of the interactive application. Theuser may identify one of the versions of the interactive applicationthat is suitable for the interactive application.

At step 1238, the server on which the video programming is stored maydeliver the video programming to the user equipment device. The serveror user equipment device on which the video programming is stored mayalso cause the appropriate version of the associated interactiveapplication to be delivered to the user equipment device. For example,the server or user equipment device on which the video programming isstored may retrieve the appropriate version of the associatedinteractive application and deliver the appropriate version of theassociated interactive application to the user equipment device. Inanother example, the server or user equipment device on which the videoprogramming is stored may deliver the video programming to the userequipment device. The interactive media guidance application implementedon the user equipment device may retrieve the appropriate version of theassociated interactive application. The video programming and theinteractive application may be displayed in any suitable arrangement.For example, screen 930 (FIG. 9d ) shows delivering video programmingand an associated interactive application to a user equipment device.

Steps 1232, 1234, 1236, and 1238 may be repeated as necessary to allowthe user equipment device to request other video programming andassociated interactive applications and other user equipment devices torequest other video programming and associated interactive applications.For example, a second user equipment device may request the videoprogramming and a second version of the interactive application may beidentified and delivered to the second user equipment device.

FIG. 13 shows an illustrative flow diagram 1300 for delivering videoprogramming and associated program data to user equipment devices in ahome network.

At step 1302, a user may access video programming using an interactivemedia guidance application implemented on a user equipment device in thehome network. Access to the video programming may be provided by aserver or user equipment device on which the video programming isstored. In some embodiments, the video programming may be provided as aresult of the user having selected to record the video programming. Forexample, as shown in FIG. 8a , the user may select to record an episodeof “Desperate Housewives” on a server for retrieval at a later time. Insome embodiments, the video programming may be provided by a serviceprovider. For example, a service provider may allow the user to view anepisode of “Desperate Housewives” stored on an on-demand server.

The video programming may have associated program data, such as, forexample, schedule information and program descriptions, programinformation (e.g., actors, directors, release date, ratings, genre,etc.), related articles, interviews, reviews, and other similar contentor data. The associated program data may be stored on any suitablenetwork server (e.g., server 130 or 140 (FIG. 1)) or home server (e.g.,server 702 (FIG. 7).

At step 1304, the server or user equipment device on which the videoprogramming is stored may receive a request from a user equipment devicein the home network to play the video programming. For example, as shownin FIGS. 9a, 9c, and 9e , the user may use an interactive media guidanceapplication to request access to the video programming.

At step 1306, a selection of associated data that is appropriate for theuser equipment device may be identified. In some embodiments, the serveror user equipment device on which the video programming is stored mayidentify the appropriate associated data. In some embodiments, theserver or user equipment device on which the associated data is storedmay identify the appropriate associated data. In some embodiments, theinteractive media guidance application from which the user requests thevideo programming may identify the appropriate associated data. For thepurposes of illustration and not limitation, it will be assumed that theserver or user equipment devices on which the video programming isstored will identify the selection of appropriate associated programdata for the user equipment device.

The server or user equipment device on which the video programming isstored may determine the associated data that the user equipment deviceis capable of receiving and displaying. For example, if one particulartype of associated data requires a large amount of storage space, theserver or user equipment device may not select to deliver the associateddata to a user equipment device that has a limited bandwidth. In anotherexample, if another particular type of associated data requires a largeamount of display area, the server or user equipment device may notselect to deliver the associated data to a user equipment device thathas a low native resolution or screen size.

For example, the server or user equipment device on which the videoprogramming is stored may select to deliver all available associateddata to the high-definition user equipment device because thehigh-definition user equipment device has a bandwidth large enough toreceive the associated data and a sufficient resolution to display theassociated data simultaneously with the selected content. On the otherhand, the server or user equipment device may select to deliver alimited amount of data (e.g., title information) to a cellular phonebecause of the bandwidth and display limitations of the cellular phone.

Alternatively, the user may identify to the server or user equipmentdevice on which the video programming is stored the associated data thatis appropriate to the user equipment device. For example, the user mayselect delivery options for associated data by selecting types ofassociated data to deliver to each of the user equipment devices in thehome network, as shown in FIGS. 8d -f.

At step 1308, the server or user equipment device on which the videoprogramming is stored may deliver the video programming to the userequipment device. The server or user equipment device on which the videoprogramming is stored may also cause the selection of the associatedprogram data to the user equipment device. For example, the server oruser equipment device on which the video programming is stored mayretrieve the selection of the associated program data and deliver theselection of the associated program data to the user equipment device.In another example, the server or user equipment device on which thevideo programming is stored may deliver the video programming to theuser equipment device. The interactive media guidance applicationimplemented on the user equipment device may retrieve the selection ofthe associated program data. For example, screens 910 and 950 (FIGS. 9band 9f ) show delivering video programming and a selection of associatedprogram data to a user equipment device.

Steps 1302, 1304, 1306, and 1308 may be repeated as necessary to allowthe user equipment device to request other video programming andassociated program data and other user equipment devices to requestother video programming and associated program data. For example, asecond user equipment device may request that the video programming anda second selection of program data may be identified and delivered tothe second user equipment device.

The foregoing is merely illustrative of the principles of this inventionand various modifications can be made by those skilled in the artwithout departing from the scope and spirit of the invention.

What is claimed is:
 1. A method for delivering video programming to userequipment devices in a home network, the method comprising: generatingfor display a menu associated with delivering the video programming,wherein the menu includes a first option for an interactive applicationavailable for automatic delivery with the video programming and a secondoption for a user-selected version of the video programming to bedelivered; receiving a first request selecting the interactiveapplication for delivery with the video programming; after receiving thefirst request, receiving a second request from a first user equipmentdevice in the home network to play the video programming; in response toreceiving the second request to play the video programming: selecting aninteractive application from a plurality of interactive applications todeliver with the video programming based on the first request; andselecting a first version of the interactive application from aplurality of stored versions of the interactive application that issupported by the first user equipment device; and delivering theuser-selected version of the video programming and the first version ofthe interactive application to the first user equipment device.
 2. Themethod of claim 1 further comprising: receiving a third request from asecond user equipment device in the home network to play the videoprogramming; identifying a second version of the interactive applicationthat is appropriate for the second user equipment device; and deliveringthe video programming and the second version of the interactiveapplication to the second user equipment device.
 3. The method of claim2 wherein the first and second user equipment devices have differenthardware or software platforms and wherein the first and second versionsof interactive application are different.
 4. The method of claim 1wherein selecting the first version from the plurality of versionscomprises using an interactive program guide to select from theplurality of versions.
 5. The method of claim 4 wherein selecting thefirst version from the plurality of versions further comprises providinga user with the ability to select the plurality of versions using theinteractive program guide.
 6. The method of claim 4 wherein selectingthe first version from the plurality of versions comprises automaticallyselecting from the plurality of versions using the interactive programguide.
 7. The method of claim 1 wherein the first version of theinteractive application is created by modifying another version of theinteractive application.
 8. The method of claim 1 wherein the firstversion of the interactive application is implemented in aplatform-independent language, and wherein the first version of theinteractive application is configured to adapt to be generated fordisplay by the first user equipment device.
 9. The method of claim 1wherein the interactive application is a navigation application, acommerce application, a voting application, a trivia application, awagering application, a user behavior monitoring application, apreference setting application, or an interactive advertisingapplication.
 10. The method of claim 1, wherein the second requestincludes information used to identify a programming language ofdifferent programming languages that is supported by a hardware orsoftware platform of the first user equipment device.
 11. A system fordelivering video programming to user equipment devices in a home networkcomprising: a processor in communication with the home networkconfigured to: generate for display a menu associated with deliveringthe video programming, wherein the menu includes a first option for aninteractive application available for automatic delivery with the videoprogramming and a second option for a user-selected version of the videoprogramming to be delivered; receive a first request selecting one ofplurality of interactive applications for delivery with the videoprogramming; after receiving the first request, receive a second requestfrom a first user equipment device in the home network to play the videoprogramming; in response to receiving the second request to play thevideo programming: select an interactive application from a plurality ofinteractive applications based on the first request; and select a firstversion of the interactive application from a plurality of storedversions of the interactive application that supported by for the firstuser equipment device; and deliver the user-selected version of thevideo programming and the first version of the interactive applicationto the first user equipment device.
 12. The system of claim 11 furthercomprising a second user equipment device in the home network andwherein the processor is further configured to: receive a third requestfrom the second user equipment device in the home network to play thevideo programming; identify a second version of the interactiveapplication that is appropriate for the second user equipment device;and deliver the video programming and the second version of theinteractive application to the second user equipment device.
 13. Thesystem of claim 12 wherein the first and second user equipment deviceshave different hardware or software platforms and wherein the first andsecond versions of interactive application are different.
 14. The systemof claim 11 wherein selecting the first version from the plurality ofversions comprises using an interactive program guide to select from theplurality of versions.
 15. The system of claim 14 wherein selecting thefirst version from the plurality of versions further comprises providinga user with the ability to select the plurality of versions using theinteractive program guide.
 16. The system of claim 14 wherein selectingthe first version from the plurality of versions further comprisesautomatically selecting from the plurality of versions using theinteractive program guide.
 17. The system of claim 11 wherein theprocessor is further configured to create the first version of theinteractive application by modifying another version of the interactiveapplication.
 18. The system of claim 11 wherein the first version of theinteractive application is implemented in a platform-independentlanguage, and wherein the first version of the interactive applicationis adapted to be generated for display by the first user equipmentdevice.
 19. The system of claim 11 wherein the interactive applicationis a navigation application, a commerce application, a votingapplication, a trivia application, a wagering application, a userbehavior monitoring application, a preference setting application, or aninteractive advertising application.
 20. The system of claim 11, whereinthe second request includes information used to identify a programminglanguage of different programming languages that is supported by ahardware or software platform of the first user equipment device.
 21. Amethod for delivering recorded television programs to user equipmentdevices in a home network, the method comprising: generating for displaya menu listing a first option for an interactive application availablefor automatic delivery with a recorded television program and a secondoption for a user-selected version of the recorded television program tobe delivered; receiving a first request selecting the interactiveapplication; after receiving the first request, receiving a secondrequest from a first user equipment device in the home network to playthe recorded television program; in response to receiving the secondrequest to play the recorded television program: selecting aninteractive application from a plurality of interactive applications todeliver with the recorded television program based on the first request;and selecting a first version of the interactive application from aplurality of stored versions of the interactive application that issupported by the first user equipment device; and delivering theuser-selected version of the recorded television program and the firstversion of the interactive application to the first user equipmentdevice.